public enum State {
NEW,
RUNNABLE,
##################synchronized,抢占同步锁的时候,线程会进入blocked状态
BLOCKED,
WAITING,
TIMED_WAITING,
TERMINATED;
}
new 状态表示刚刚创建的线程,等到线程的start()方法调用的时候,才表示线程开始执行。
线程执行时,处于runnable状态,表示线程所需的一切资源都已经准备好了。
如果线程在执行过程中遇到synchronized代码块,就会进入blocked阻塞状态,线程暂停执行。
waiting 和TIMED_WAITING都表示等待状态,它们的区别是waiting会进入一个无时间限制的等待,TIMED_WAITING会进行一个有时限的等待。
本文详细解析了Java中线程的六种状态:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED。NEW状态表示线程刚被创建;RUNNABLE表示线程已准备好执行;BLOCKED状态发生在线程尝试获取同步锁时;WAITING和TIMED_WAITING是线程的等待状态,区别在于是否有时限;TERMINATED表示线程已完成执行。
6917

被折叠的 条评论
为什么被折叠?



