线程的六种状态
描述 | ||
New | 新建状态 | 线程刚被创建,start方法之前的状态 |
Runnable | 运行状态 | 执行start方法后,如果获得时间片就会执行,进入运行状态,如果未得到时间片就是Ready就绪状态,等待时间片分配。 |
Blocked | 阻塞状态 | 如果遇到锁,线程就会变为阻塞状态等待另一个线程释放锁 |
Waiting | 等待状态 | 无限期等待,等待唤醒 |
Time_Waiting | 超时等待状态 | 有明确结束时间的等待状态 |
Terminated | 终止状态 | 当线程结束完成之后就会变成此状态 |
线程池的五种状态
RUNNING | 会接受新的任务,也会执行队列中的任务。 |
SHUTDOWN | 不会接受新的任务,但是会执行队列中的任务。 |
STOP | 不会接受新的任务,也不会执行队列中的任务。 |
TIDYING | 所有的任务已经终止,并且没有正在工作的线程。此时线程池会进入到TIDYING状态,并且马上会执行terminated()方法来终止线程。 |
TERMINATED | 执行terminated()方法结束之后就会进入TERMINATED状态。 |