线程的生命周期(状态)
状态名称 | 说明 |
---|---|
NEW | 初始状态,线程被创建,但是还没有调用start()方法 |
RUNNABLE | 处于就绪状态的线程已经具备了运行条件,但还没有分配到CPU,处于线程就绪队列,等待系统为其分配CPU |
RUNNING | 运行状态,运行中 |
BLOCKED | 阻塞状态,表示线程阻塞 |
WAITING | 等待状态,表示线程进入等待状态,进入该状态标识当前线程需要等待其他线程做出一些特定动作(通知或中断) |
TIME_WAITING | 超时等待状态,该状态不同于WAITTING,它是可以在指定的时间自行返回的 |
DEAD | 终止状态,当前进程已经执行完毕。 |
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建( New )、就绪( Runnable )、运行( Running )、阻塞( Blocked )和死亡( Dead )5 种状态。尤其是当线程启动以后,它不可能一直"霸占"着 CPU 独自运行,所以 CPU 需要在多条线程之间切换,于是线程