线程池的五种状态
- RUNNING:线程池处于运行状态,能够接收新任务并处理队列中的任务。
- SHUTDOWN:线程池处于关闭状态,不再接收新任务,但会处理队列中的剩余任务。
- STOP:线程池处于停止状态,不再接收新任务,并中断正在执行的任务。
- TIDYING:线程池中的所有任务执行完毕,活动线程数为0时的状态。
- TERMINATED:线程池执行完terminated()方法后的状态。
每种状态的定义和转换条件
- RUNNING:线程池创建后默认进入此状态,能够接收新任务并处理队列中的任务。
- SHUTDOWN:调用shutdown()方法后,线程池进入此状态,不再接收新任务,但会处理队列中的剩余任务。
- STOP:调用shutdownNow()方法后,线程池进入此状态,不再接收新任务,并中断正在执行的任务。
- TIDYING:所有任务执行完毕后,活动线程数为0时的状态。
- TERMINATED:执行完terminated()方法后的状态。