目录
一、系统内核中的线程状态
二、Java中的线程状态
一、系统内核中的线程状态
状态 | 说明 |
就绪状态 | 线程已经准备就绪,随时可以接受CPU的调度。 |
阻塞状态 | 线程处于阻塞等待,暂时无法在CPU中执行。 |
二、Java中的线程状态
相比于系统内核,Java中对线程的状态进行了更详细的划分: | |
状态 | 说明 |
New | Thread对象成功创建,但尚未调用start方法。 |
Terminated | 线程已经执行完毕,但Thread对象仍未销毁。 |
Runnable | 就绪状态,可工作的,随时可以或现在就在CPU上执行。 |
Timed_waiting | 指定等待时间的阻塞,达到指定时间自动解除阻塞。 |
Waiting | 阻塞状态,没有时间限制,需要其他条件才可唤醒。 |
Blocked | 由于锁竞争引起的阻塞。 |
Java中线程状态之间的关系:
打印线程状态的枚举:
public class Thread_Demo15 {
public static void main(String[] args) {
for(Thread.State state:Thread.State.values()){
System.out.println(state);
}
}
}
打印结果:
NEW
RUNNABLE
BLOCKED
WAITING
TIMED_WAITING
TERMINATED
Java中,线程状态使用枚举保存,以上为枚举的内容,即Java中所有的线程状态。