实验七:多线程与异常处理

一、实验目的:了解线程的概念、线程的生命周期,掌握多线程的编程。掌握异常的概念以及如何定义、抛出和捕捉处理异常。

二、实验环境:Java SE

三、实验内容:(一)Thread子类的方法实现多线程
运行截图如下:
实验七:多线程与异常处理
(二)实现Runnable接口的方法实现多线程
运行结果如下:
实验七:多线程与异常处理

(三)捕获并处理各种类型的异常
运行结果如下:
实验七:多线程与异常处理
答:捕捉到四个异常。

1.java.lang.ArithmeticException: / by zero 除数为0.

2.java.lang.NullPointerException : 属于空指针异常.

3.java.lang.ArrayIndexOutOfBoundsException: 9 属于数组下标9越界异常.

4.java.lang.StringIndexOutOfBoundsException: String index out of range: 99 属于字符串异常.

(四)了解异常处理模块中各个语句块的功能
运行结果如下:
实验七:多线程与异常处理
System.out.println(“After handling exception return here?”);没有被执行。

四、心得体会:本次试验我掌握了程序是为完成特定任务、用某种语言编写的一组指令的集合,指一段静态的代码。进程是程序的一次执行过程,是系统进行调度和资源分配的一个独立单位。
线程是比进程更小的执行单位。一个进程在其执行过程中,可以产生多个线程,形成多条执行线索。每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。一个线程有它自己的入口和出口,以及一个顺序执行的序列线程不能独立存在,必须存在于进程中。线程的基本状态有新建、就绪、运行、阻塞、死亡。线程调度安照线程的优先级来调度线程的执行,具有高优先级的线程会在较低优先级的线程之前得到执行,同时线程的调度是抢先式的。