目录
线程池的状态
线程池的状态通常用于描述线程池当前的工作状态和生命周期。常见的线程池状态包括以下几种:
1. RUNNING(运行中)
-
线程池处于正常运行状态,可以接受新任务并处理队列中的任务。
-
这是线程池的初始状态。
2. SHUTDOWN(关闭中)
-
线程池不再接受新任务,但会继续处理队列中已有的任务。
-
调用
shutdown()
方法后,线程池进入此状态。
3. STOP(停止)
-
线程池不再接受新任务,也不会处理队列中的任务,并且会中断正在执行的任务。
-
调用
shutdownNow()
方法后,线程池进入此状态。
4. TIDYING(整理中)
-
所有任务都已终止,工作线程数为 0,线程池即将进入终止状态。
-
这是一个过渡状态,在此状态下,会调用线程池的
terminated()
方法,该方法在ThreadPoolExecutor类中是空的,用户可以通过重载terminated()方法来进行相应的处理。