# 线程池组成部分

  1. 线程池管理器
  2. 工作线程
  3. 任务队列
  4. 任务接口(Task)

线程池组成部分图解:

线程池组成部分

Executor家族常见类关系:

Executor家族常见类关系

# 线程池实现任务复用的原理

相同线程执行不同任务

# 线程池状态

状态 描述
RUNNING 接受新任务并处理排队任务
SHUTDOWN 不接受新任务,但处理排队任务
STOP 不接受新任务,也不处理排队任务,并中断正在进行的任务
TIDYING 中文是整洁,理解了中文就容易理解这个状态了:所有任务都已终止,workerCount为零时,线程会转换到TIDYING状态,并将运行terminate()钩子方法。
TERMINATED terminate() 运行完成

# 使用线程池的注意点

  • 避免任务堆积
  • 避免线程数过度增加
  • 排查线程泄漏