线程池状态

  • RUNNING
    • 线程池会接收新任务,并处理阻塞队列里面的任务
    • 通过调用 shutdown() 方法,会切换到 SHUTDOWN 状态
    • 通过调用 shutdownNow() 方法,会切换到 STOP 状态
  • SHUTDOWN
    • 线程池不会接收新任务,但会处理阻塞队列中的任务;
    • 队列为空,并且线程池中执行任务也为空,进入 TIDYING 状态;
  • STOP
    • 线程池不会接收新任务,也不会处理阻塞队列中的任务,而且会中断正在运行的任务;
    • 线程池中执行任务为空,进入 TIDYING 状态;
  • TIDYING
    • 该状态表明所有任务已经运行终止,记录的任务数量为 0。
    • terminated()执行完毕,进入 TERMINATED 状态
  • TERMINATED
    • 该状态表示线程池彻底终止

线程池实现原理(TODO)