线程的生命周期

1.New(线程创建未启动)(http://www.amjmh.com/v/)
2.RUNNABLE(正在执行中的线程)
3.BLOCKED(被阻塞并且再等在监视器锁释放)调用join()、sleep()、wait()使线程处于Blocked状态
4.WAITING(等待被唤醒)
5.TIMED_WAITING(等待或睡眠一定时间被唤醒)
6.TERMINATED(线程终止,消亡)

1.new状态
new状态是新县城状态,通过new关键字实例化一个Thread对象就生产一个新线程,线程处于new状态的时候,仅仅是一个空线程们还没有分配系统资源,只能启动或者终止,线程调用new方法后,在start前处于新线程状态。
2.Runnable状态
Runnable也称为可运行状态,通过start方法的状态,线程获取了支持其运行的资源,并调度其run方法,这个状态不能想当然的认为是运行状态,因为这时的线程并不总是一直占用处理机,它也有可能不在运行,这是因为还有优先级和调度问题。
3.NOT Runnable状态
NOT Runnable也称为阻塞状态,当以下事件发生时,线程处于该状态:
a:调用supped、sleep方法
b:调用wait方法等待条件变量
c:线程处于I/O请求的等待
4.Dead也称为死亡状态,
run方法运行完毕、其他线程调用该线程的stop方法、异常终止都会使线程处理该状态
————————————————

posted @ 2019-08-23 22:07  李艳艳665  阅读(84)  评论(0编辑  收藏  举报