A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lu774374302 初级黑马   /  2015-8-19 16:19  /  512 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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异常。




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马