Java线程的状态是一个枚举类型,可以通过以下的代码进行打印输出:
public class ThreadState {
public static void main(String[] args) {
for (Thread.State state : Thread.State.values()) {
System.out.println(state);
}
}
}
Java中线程的状态分为6种:
- 初始(NEW): 新建一个线程对象,但是还没有调用start()方法
- 运行(RUNNABLE): Java线程中把就绪(ready)和运行中(running)两种状态称为“运行”
- 阻塞(BLOCKED): 表示线程阻塞于锁
- 等待(WAITING): 进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断)
- 超时等待(TIMED_WAITING): 该状态不同于WAITING,它可以在指定的时间后自行返回
- 终止(TERMINATED):表示该线程执行完毕
线程状态图: