Java的线程状态

2020-09-26  本文已影响0人  雁阵惊寒_zhn

Java语言定义了6种线程状态。在任一时刻,某个线程处于且只能处于其中的一种状态。

下图是线程6种状态的转换:


Java线程状态转换

在普通情况下,线程的生命周期经由\color{red}{红色}箭头线方向执行,经历创建——运行——结束的过程。
如果执行过程遇到同步锁,在竞争锁失败的情况下,会执行\color{green}{绿色}箭头线方向,线程阻塞去等待同步锁的释放。
在线程执行中,主动执行了Object的等待/通知函数,或者线程的join方法,会执行\color{black}{黑色}箭头线方向,进入有限等待或者无限等待状态。

实践中,可以执行jstack命令查看线程状态。

上一篇 下一篇

猜你喜欢

热点阅读