线程在运行的生命周期中可能处于下列6种状态的一种,在某一时刻,线程只能处于其中的某一个状态,Thread.State中定义了这六种状态
public enum State {
/**
* 初始状态:线程被创建,但是没有调用调用start()
*/
NEW,
/**
* 运行状态:java线程把操作系统中的就绪和运行两种状态统称为“运行中“
*/
RUNNABLE,
/**
* 阻塞状态:表示线程阻塞于锁
*/
BLOCKED,
/**
* 等待状态,表示线程进入等待状态,
* 进入该状态表示当前线程需要等待其他线程做出一些特定的动作(通知,中断)
*/
WAITING,
/**
* 超时等待状态,该状态不同于WAITING,它是可以在指定的时间自行返回的
*/
TIMED_WAITING,
/**
* 终止状态,表示当前线程已经执行完毕
*/
TERMINATED;
}
图解