惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
H
Heimdal Security Blog
Jina AI
Jina AI
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
C
Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
S
Securelist
P
Privacy International News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
博客园 - 叶小钗
J
Java Code Geeks
V
V2EX
博客园 - Franky
Spread Privacy
Spread Privacy
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
Latest news
Latest news
NISL@THU
NISL@THU
罗磊的独立博客
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
V
Visual Studio Blog

博客园 - CharyGao

OpenAI Codex AI降智解决方案, 原因解析与系统提示词修改指南 OpenClaw vs Coze/Dify/n8n 帮你半小时内选对合适的AI Skills 热潮过去后,我重新理解了 AI Agent 的方向 智读致用|《埃隆之书》 《一人企业》 一人公司:The Agency 免费“雇佣“144个AI专家,虚拟团队走进现实 用微软Agent Framework打造智能博客生成系统+AI智能体军团 告别加班(第二期):月报还是Word排版?本地AI解您愁 居然可以在 Claude 桌面端用三方模型了! Claude Code 每次启动都要确认权限?一行配置永久解决 98.5% 的人都不知道:SSH 居然还有个“隐藏菜单” 强程序员在 AI 时代的赚钱路径 骚操作来了!Claude编程的42个实战技巧大全 面试官:“简历写着熟练使用 Claude Code,连 simplify 代码审查命令都不知道!”,我:“那又如何呢?” SpringBoot+ResponseBodyEmitter异步流式推送神技 加密后的数据如何进行模糊查询? 最适合新手安装的10个小龙虾🦞 skills来了! 周末和孩子必看的亲子电影合集,陪伴孩子成长的每一步 拒绝代码泄露与“屎山”迷航:GitNexus纯本地知识图谱+可视化关系网,引发GitHub 8800星狂欢 还原BatchEncryption(201610版本)混淆的批处理文件 用上这个Skill,你的Claude Code/Codex 将会比别人快5倍 -- 用分布式思维驯服AI任务编排 前端项目中定义vs code要安装的插件 vscode中claude code插件代理地址设置 2026新手必学:GPT-5.5高效提示词指南 解决 URLEncoder.encode 编码空格变 + 号 Springboot通过谷歌Kaptcha 组件,生成图形验证码 HTTP 与 SpringBoot 参数提交与接收协议方式 springboot使用logback自定义日志 SpringBoot + Cursor 最佳提示词工程手册 scoop国内安装方法 Prompt 工程实战总结:文本分类、信息抽取、语义匹配 PowerShell DSC(Desired State Configuration)实战指南 OpenResty Lua 代码断点 调试指南:VSCode + LuaPanda OpenClaw多智能体路由实战:飞书多机器人配置指南 OpenClaw 提示词全集 (Prompt Collection) n8n 2.0 中文汉化版一键部署教程 | 解除Execute Command限制 java中Redisson ,jedis,Lettuce和Spring Data Redis的四种深度对比和优缺点详解 Java Web 技术演进:Servlet → Spring → Spring Boot Everything Claude Code(Anthropic 黑客松冠军开源配置) 从 ChatGPT 到 Coding Agent:AI 执行时代的未来猜想 【万字长文】Gemini 3 Pro 全面指南:从免费订阅到 CLI / Agent 实战 Codex 全面实战教程:从安装到工程协作,一篇跑通 3万字硬核拆解 Claude Code:从入门到工程化落地 Gemini 3 完整指南 Codex 完整指南 Claude Code 完整指南4-10 Claude Code 完整指南 claude code 自动保存对话插件 提示词99+ 拜拜Cursor,你好Kiro!(附全平台安装包下载,Win、Mac、Linux) 别再忍了!uv 下载慢如龟速?一招配置国内镜像,让你的 Python 体验坐上火箭! docker配置参数详解---/etc/docker/daemon.json完整参数 win11 清理 OpenCowork 让 AI 在飞书里真正「动手干活」 教你从0到1安装OpenClaw,快速接入飞书,打通任督二脉! SpringBoot 最大连接数及最大并发数是多少??? SpringBoot vs Nginx:5种实现vs1个指令,谁才是防盗链的“真·王者”? Spring Boot日志集成 Redisson 使用手册:从 API 误区到看门狗失效,在此终结分布式锁的噩梦 OpenClaw超级速查表 zeroclaw ubunut25 -ARM 修改国内镜像 openClaw国内镜像安装 知识图谱 —— 结构化知识的强大工具 什么是 Supervised learning(监督学习) 机器学习中的过拟合与欠拟合现象:理论与实践案例研究 解析 Anthropic 的模型上下文协议(MCP)及其优点
SpringBoot多线程池配置
charygao1990 · 2026-05-06 · via 博客园 - CharyGao

image

在 Spring Boot 的 Web 容器中,完全可以维护多个线程池,这是一种非常常见的架构设计。不同业务场景对线程模型的需求不同,通过隔离线程池可以避免相互影响,提升系统的稳定性和可观测性。

以下是 Web 容器内常见的几种线程池及其用途:

1. 通用业务线程池

处理非阻塞、可异步化的业务逻辑 

 
  1. public class ThreadPoolConfig {

  2. @Bean("businessExecutor")

  3. public ThreadPoolTaskExecutor businessExecutor() {

  4. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();

  5. executor.setCorePoolSize(10);

  6. executor.setMaxPoolSize(20);

  7. executor.setQueueCapacity(100);

  8. executor.setThreadNamePrefix("business-");

  9. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());

 

2. IO 密集型线程池

适用于大量 IO 操作(数据库查询、HTTP 调用、文件读写等),通常设置较大的线程数。

 
  1. public ThreadPoolTaskExecutor ioExecutor() {

  2. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();

  3. executor.setCorePoolSize(50);

  4. executor.setMaxPoolSize(100);

  5. executor.setQueueCapacity(500);

  6. executor.setThreadNamePrefix("io-");

 

3. CPU 密集型线程池

适用于计算密集型任务,线程数通常设置为 CPU 核心数。

 
  1. public ThreadPoolTaskExecutor cpuExecutor() {

  2. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();

  3. int processors = Runtime.getRuntime().availableProcessors();

  4. executor.setCorePoolSize(processors);

  5. executor.setMaxPoolSize(processors);

  6. executor.setThreadNamePrefix("cpu-");

 

4. 定时任务线程池

处理 @Scheduled 注解的定时任务,可以独立配置。

 
  1. @Bean("scheduledExecutor")

  2. public ThreadPoolTaskScheduler scheduledExecutor() {

  3. ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();

  4. scheduler.setPoolSize(10);

  5. scheduler.setThreadNamePrefix("scheduled-");

 

5. 异步事件处理线程池

用于 @Async 异步方法或应用事件监听器的处理。

 
  1. public ThreadPoolTaskExecutor asyncExecutor() {

  2. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();

  3. executor.setCorePoolSize(5);

  4. executor.setMaxPoolSize(10);

  5. executor.setQueueCapacity(50);

  6. executor.setThreadNamePrefix("async-");

 

6. Web 容器自身线程池

Tomcat/Jetty/Undertow 处理 HTTP 请求的线程池,可在配置文件中调整:

 
 

7. 数据库连接池

虽然不是线程池,但 HikariCP 等连接池也维护着工作线程,需要合理配置。

 
  1. connection-timeout: 30000

 

最佳实践建议

  1. 线程池隔离:将 IO 密集型、CPU 密集型、定时任务等不同负载类型的任务分配到不同的线程池

  2. 命名规范:为每个线程池设置有意义的名称前缀,便于问题排查

  3. 监控告警:对核心线程池添加监控,关注活跃线程数、队列大小、拒绝任务数等指标

  4. 拒绝策略:根据业务场景选择合适的拒绝策略:

    • CallerRunsPolicy:降级,由调用线程执行

    • AbortPolicy:抛出异常

    • DiscardPolicy:静默丢弃

    • DiscardOldestPolicy:丢弃最旧的任务

  5. 优雅关闭:在应用关闭时确保线程池正确关闭,避免数据丢失

 
  1. businessExecutor().shutdown();

 

通过合理配置多个线程池,可以让 Spring Boot 应用更好地应对复杂业务场景,提升系统的吞吐量和稳定性。

SpringBoot多线程池配置_是 spring boot 2.3.7 tomcat线程池配置-CSDN博客