文章 / Java

线程池详解:七个参数、拒绝策略与状态流转

线程池的参数不是背下来的。从「任务提交之后发生了什么」这条线索串起七个参数的作用顺序,以及为什么不该用快捷工厂方法。

2026-10-03 约 13 分钟
并发线程池
这篇文章还在写。可以先看看已经完成的 《为什么 RAG 一定要做混合检索》 。

这篇文章还在写。

打算按「一个任务提交进来之后依次经过什么」来讲,而不是列参数表:

  • 核心线程没满 → 建核心线程;满了 → 进队列;队列满了 → 建非核心线程;再满 → 走拒绝策略
  • 为什么不该用 Executors.newFixedThreadPool:无界队列把 OOM 藏起来了
  • allowCoreThreadTimeOut、prestartAllCoreThreads 各自的适用场合
  • 四种拒绝策略在什么业务语义下才是对的
  • 状态流转:RUNNING → SHUTDOWN → STOP → TIDYING → TERMINATED

已经写完的那篇跟这篇没关系,但还是放一下: 《从关键词到语义:为什么 RAG 一定要做混合检索》。