小言_互联网的博客

简述线程的几种状态以及状态之间的转换

520人阅读  评论(0)

话不多说,直接上图,绝对简单明了,通俗易懂

根据上边的图片,简单描述一下

线程有以下几种状态

1、new 新建状态(此时线程刚被new出来,还没执行start()方法)

2、Runable 运行状态,有执行资格又有执行权,但它可能正在等待来自操作系统的其他资源,例如处理器。

3、Blocked 阻塞状态,也称临时状态,有执行资格,但是没有执行权,需要等待执行权

4、冻结状态,有的书上又将冻结细分为Waiting 无限期等待和Timed_Waiting 有限期等待

Waiting 无限期等待状态 是用wait方法,线程自己不会醒,需要用notify方法或者其他方法来唤醒

Timed_Waiting 有限期等待状态 是用sleep方法传入一个要睡眠的时间,时间到了以后线程自己会醒

冻结状态的线程是没有执行资格,更没有执行权

5、TERMINATED 终止消亡状态:表示该线程已经执行完毕。

 

 


转载:https://blog.csdn.net/ju_362204801/article/details/100046344
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场