(1)线程的生命周期共有六种状态
1)NEW:new一个线程。
2)RUNNABLE:执行start方法进入可运行状态,等待分配时间片。
3)BLOCKED:阻塞状态(例如:同步锁被其他线程持有)
4)WAITING:等待状态(例如:执行wait/slee/join/...之后)
5)TIMED_WAITING:超时等待(例如:执行wait(2000)/sleep(2000)/join(2000)/...之后)
6)TERMINATED:线程执行结束
(2)下面是jdk8中Thread类中源码的部分内容:
public static enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; private State() { } }
(3)六种状态的转换图