Java线程的6种状态
6种状态分别是:
NEW、RUNNABLE、TERMINATED、WAITING、TIMED_WAITING、BLOCKED
NEW:线程创建完毕
RUNNABLE:线程运行中,又分为READY + RUNNING
TERMINATED:线程死亡
WAITING:线程调用wait方法,需要调用notify唤醒,被唤醒的线程重新进入RUNNABLE状态
TIMED_WAITING:线程调用sleep方法,等待一定时间后,自动恢复成RUNNABLE状态
BLOCKED:线程阻塞,等待其他线程释放资源
注意:线程的消亡是不可逆的,不能对terminated状态的线程再次执行start方法
原因在于:Java的线程资源,是通过本地方法从内核态申请创建的