线程池的状态分为:Running(运行状态)、Shutdown(关闭状态)、Stop(停止状态)、Tidying(整理状态)、Terminated(终止状态)。
Running(运行状态):线程池被创建时,就是Running状态,线程池中的任务数位0。
该状态会接受新任务,并处理工作队列中的任务。
调用shutdown()方法,可切换到Shutdown关闭状态。
调用shutdownNow()方法,可切换到Stop停止状态。
Shutdown(关闭状态):该状态不接收新任务,但会处理工作队列中的任务。
当工作队列和线程池中执行的任务都为空时,线程池进入Tidying整理状态。
Stop(停止状态):该状态不会接收任务,也不会处理阻塞队列中的任务,中断正在运行的任务。
线程池中执行的任务为空,进入Tidying整理状态。
Tidying(整理状态):该状态表明所有的任务已经运行终止,记录的任务数量为0
terminated()执行完毕,进入Terminated终止状态。
Terminated(终止状态):该状态表示线程池彻底关闭。