黑马程序员技术交流社区

标题: 线程的几种状态 [打印本页]

作者: lu774374302    时间: 2015-8-19 16:19
标题: 线程的几种状态
本帖最后由 lu774374302 于 2015-8-19 16:21 编辑

在Java中,线程通常都有5种状态:创建、就绪、运行、阻塞和死亡。
(1)创建状态
线程对象已创建,但没有调用线程对象的start方法,该线程就处于创建状态。
(2)就绪状态
当线程对象调用start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,即当前线程有资格运行,但是还没有运行。在线程运行之后,从等待或者睡眠中被唤醒后也会处于就绪状态。
(3)运行状态
线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代码。
(4)阻塞状态线程正在运行的时候被暂停,通常是为了等待某个事件的发生之后再继续运行,wait和sleep方法都会导致线程阻塞。
(5)死亡状态
如果一个线程的run方法执行结束或者调用stop方法后,该线程就会死亡,对于已经死亡的线程,无法再使用start方法令其进入就绪状态,如果在一个已死亡的线程上调用start方法则会抛出java.lang.IllegalThreadStateException异常。









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2