📚 分类
线程池
🕵🏽‍♀️ 问题描述
说一下线程池的核心参数
👨‍🏫 问题讲解
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)

提交任务 -> 核心线程数是否已满(核心线程执行) -> 阻塞队列是否已满(放到队列里) -> 线程数是否小于最大线程数(创建非核心线程) -> 拒绝策略
🏳️‍🌈 问题总结
corePoolSize 核心线程数目。
maximumPoolSize 最大线程数目 - (核心线程 + 救急线程的最大数目)。
keepAliveTime 生存时间 - 救急线程的生存时间,生存时间内没有新任务,此线程资源会释放。
unit 时间单位 - 救急线程的生存时间单位,如秒、毫秒等。
workQueue 当没有空闲核心线程时,新来任务会加入到此队列排队,队列满会创建救急线程执行任务。
threadFactory 线程工厂 - 可以定制线程对象的创建,例如设置线程名字、是否是守护线程等。
handler 拒绝策略 - 当所有线程都在繁忙,workQueue也放满时,会触发拒绝策略。
📖 问题信息
📈 浏览次数:15 | 📅 更新时间:2025-12-14 10:31:25
📦 创建信息
🏷️ ID:116 | 📅 创建时间:2025-01-05 21:05:38