首页 > 编程语言 > 详细

线程的生命周期

时间:2019-08-23 23:46:37      阅读:125      评论:0      收藏:0      [点我收藏+]

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方法、异常终止都会使线程处理该状态
————————————————

线程的生命周期

原文:https://www.cnblogs.com/liyanyan665/p/11402910.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!