Lazy loaded image
Java线程池
字数 326阅读时长≈ 1 分钟
2026-10-12
type
Post
status
Published
date
Oct 12, 2026
slug
JAVA1
summary
tags
技术探索
category
手写
icon
password

Java 线程池有哪些核心参数?

主要有 7 个参数,分别是核心线程数、最大线程数、空闲存活时间、时间单位、任务队列、线程工厂和拒绝策略。

一般要怎么去调整线程池的参数?

调优时,我首先会区分任务类型。如果是 CPU 密集型,线程数一般从 CPU 核数附近开始;如果是 IO 密集型,可以根据 IO 等待时间和 CPU 计算时间的比例适当增加线程数。 其次,我会使用有界队列控制任务积压,通过最大线程数控制并发上限,并根据业务选择拒绝策略,避免系统过载。 最后通过压测观察 CPU 利用率、活跃线程数、队列长度、拒绝次数和 P99 延迟,不断调整参数。 我的原则是在吞吐量、响应延迟和系统资源之间找到平衡。

线程池怎么工作?

notion image
 

假设你的线程池设置 corePoolSize=10、maximumPoolSize=100、队列容量为 1000,同时来了 1500 个耗时任务,会创建多少个线程?多少个任务被拒绝?

notion image
 
回到首页