线程池的状态有哪些?
线程池的状态包括:RUNNING,SHUTDOWN,STOP,TIDYING,TERMINATED;
(1)RUNNING 运行状态
①该状态的线程池会接受新任务,并处理阻塞队列中的任务;
②调用线程池的 shutdown() 方法,可以切换到SHUTDOWN状态;
③调用线程池的 shutdownNow() 方法,可以切换到STOP状态,
(2)SHUTDOWN 关闭状态
①该状态的线程池,不会接收新任务,但是会继续处理工作队列中的任务;
②如果工作队列为空,并且线程池中执行的任务也为空,线程池进入TIDYING 状态;
(3)STOP 停止状态
①该状态的线程池,不会接收新任务,也不会处理工作队列中的任务,同时会中断正在运行
的任务;
②线程池中执行的任务为空进入TIDYING 状态;
(4)TIDYING 整理状态
①该状态表明所有的任务已经终止,工作线程的数量为0,即将调用terminated();
(5)TREMINATED终止状态
①terminated()执行完毕,表示线程池彻底终止;