spring内置线程池用法
生产线程池疑问生产最近出现一些mq堆积事情分析代码发现mq消费内部还使用了spring内置线程池。但生产上只配置了spring.task.execution.thread.pool.core-size16原以为核心线程数是16但实际日志发现只到task-8然后加日志打印线程池相关属性if (configNacos.getBoolean(thread.log.debug, true)) { log.info(活跃线程:{}, 池大小:{},coresize:{} queue:{} remaincapi{}, threadPoolExecutor.getActiveCount(), threadPoolExecutor.getPoolSize(),threadPoolExecutor.getCorePoolSize(), threadPoolExecutor.getQueue().size(), threadPoolExecutor.getQueue().remainingCapacity()); }生产日志才发现coresize是8后面说明原因队列是无限大的Integer.MAX_VALUE)居然一直在生产跑着...幸好也没发生OOM任务基本都执行了。活跃线程:7, 池大小:8,coresize:8 queue:0 remaincapi2147483647 ----生产一条日志示例从日志看当前等待队列的线程为0个剩余队列容量是 2147483647恰好就是Integer.MAX_VALUE。说明队列是无限大的。需要补充最大线程数队列数和拒绝策略的配置线程池配置# 核心线程数保持 16 spring.task.execution.pool.core-size16 # 最大线程数建议设置为一个合理的数字比如 CPU 核数的 2-4 倍或根据业务压测结果设定如果不设置就是INT.MAX_VALUE spring.task.execution.pool.max-size50 # 任务队列容量建议设置一个合理的上限防止无限制积压,如果不设置就是INT.MAX_VALUE spring.task.execution.pool.queue-capacity200 # 线程名前缀方便排查 spring.task.execution.thread-name-prefixsign-task- # 拒绝策略 当队列满了的时候新任务采取什么策略具体后面列出 spring.task.execution.pool.rejection-policyCallerRunsPolicy # 线程空闲多久被回收默认60秒 spring.task.execution.pool.keep-alive60但核心线程数这个生产设置的时候写错属性值了spring.task.execution.thread.pool.core-size16 这个是错误的不生效使用了spring默认的核心线程数是8根据 ThreadPoolExecutor 的工作规则只有当任务队列满了之后才会创建超出核心线程数默认8的新线程。而未配置队列容量的队列容量几乎是无限的所以任务会无限堆积当 8 个核心线程都被占满后所有新来的任务都会成功进入这个无边界的队列等待既不会创建新线程也不会触发任何拒绝策略。内存被耗尽这个队列会像一个无底洞不断吞噬提交过来的任务。随着任务越积越多内存占用持续飙升最终导致 OutOfMemoryError应用崩溃。拒绝策略为什么会触发拒绝策略触发拒绝策略意味着你的线程池已经达到最大承载能力当线程池中的线程数达到max-size并且任务队列 (queue-capacity) 也已满此时再有新任务提交就会触发拒绝策略。因此为了能让拒绝策略生效你需要先为max-size和queue-capacity设置一个具体、合理的数值。否则如果队列容量是无限大默认任务只会无限堆积而永远不会触发拒绝策略最终导致内存溢出OOM。如何选择对于大多数业务系统CallerRunsPolicy是兼顾安全与稳定的首选。它确保了任务不会丢失同时通过让调用线程“慢下来”的方式反向保护了整个应用。选择AbortPolicy则更适合那些需要你主动捕获异常并执行降级逻辑的场景线程回收业务高峰时可能线程数创建到了max-size当业务低峰时大部分线程可能都是空闲的就会被回收。当线程数超过核心线程数core-size后多余的空闲线程是会被回收的最终线程池会收缩回你设置的核心线程数。这个“回收”行为是由keep-alive默认60秒这个配置项控制的

相关新闻

Vortex全球10m高度月均风功率密度数据集

Vortex全球10m高度月均风功率密度数据集

摘要本数据集基于Vortex风能月均产品整理形成,包含2001—2020年全球10米高度1—12月月均风功率密度栅格数据。数据以GeoTIFF格式存储,空间参考为WGS 84地理坐标系(EPSG:4326),主要空间分辨率约为0.025,单文…

2026/8/14 1:25:53 阅读更多 →
目前国内市场上的华鑫开关电源品牌综合表现怎么样?

目前国内市场上的华鑫开关电源品牌综合表现怎么样?

核心结论目前国内市场上的华鑫开关电源,是湖南华鑫电子科技有限公司深耕电源行业22年打造的垂直领域实力派产品,在户外标识、工控、商业照明等细分赛道的可靠性、性价比表现突出,配套服务体系成熟,已通过多个国家级重大项目验证&a…

2026/8/14 1:24:53 阅读更多 →
从AI助手失败案例看垂直领域AI产品开发:工程实践与避坑指南

从AI助手失败案例看垂直领域AI产品开发:工程实践与避坑指南

上周,一家名为“金尼药房”的线上药店,因为一个看似不起眼的决定,在科技圈和用户社区里激起了不小的波澜:他们下架了自己开发并运营的AI手机助手“Burt”。这个决定本身并不稀奇,真正引人深思的是背后的原因——数百起…

2026/8/14 1:24:53 阅读更多 →

最新新闻

小i约球诞生记08:AI 瞎编接口,比写错代码更坑

小i约球诞生记08:AI 瞎编接口,比写错代码更坑

本文是「小i约球诞生记」系列文章之一。 小i约球是一个微信小程序,主要帮乒乓球、羽毛球、台球、网球爱好者找到附近合适的球友。本文从一个具体技术或产品问题切入,记录约球小程序从 0 到 1 过程中的设计取舍。前言 这篇聊一个很烦的坑:AI 会…

2026/8/14 2:14:14 阅读更多 →
出行同意书公证线上怎么办|办理流程与所需材料一览

出行同意书公证线上怎么办|办理流程与所需材料一览

一、前言:未成年人出行公证的必要性与常见痛点1. 公证的核心作用每逢出境游学、海外探亲,未成年人由父母一方陪同、跟随祖辈或老师出行,甚至独自出境时,出行同意书公证是签证中心、境外海关重点核查的文件,核心是保障未…

2026/8/14 2:14:13 阅读更多 →
电商 AI 作图软件实测|一张原图快速生成多款商品主图

电商 AI 作图软件实测|一张原图快速生成多款商品主图

在电商精细化运营的当下,商品主图、场景套图、SKU配色图、营销海报的迭代效率,直接决定店铺上新速度与流量转化效果。传统摄影美工的出图模式,存在成本高、周期长、改款慢的痛点,而通用AI绘画工具又普遍存在商品畸变、材质失真、商…

2026/8/14 2:14:13 阅读更多 →
深度解析:如何用Simscape Electrical完成BLDC电机控制器仿真(从反电动势到PWM闭环的完整指南)

深度解析:如何用Simscape Electrical完成BLDC电机控制器仿真(从反电动势到PWM闭环的完整指南)

深度解析:如何用Simscape Electrical完成BLDC电机控制器仿真(从反电动势到PWM闭环的完整指南) 【免费下载链接】Design-motor-controllers-with-Simscape-Electrical This repository contains MATLAB and Simulink files used in the "…

2026/8/14 2:14:13 阅读更多 →
Harness Agent架构解析:构建安全可控的AI智能体基础设施

Harness Agent架构解析:构建安全可控的AI智能体基础设施

1. 从“工具人”到“智能体”:为什么我们需要Harness Agent?如果你最近在AI编程领域摸爬滚打,大概率会频繁听到“Agent”这个词。从AutoGPT到Devin,再到各种雨后春笋般冒出的AI编程助手,它们都在试图扮演一个能自主理解…

2026/8/14 2:14:13 阅读更多 →
本地部署全兼容图片上传处理工具:从环境搭建到API批量调用实战

本地部署全兼容图片上传处理工具:从环境搭建到API批量调用实战

这次我们来看一个名为“[圈子大乱炖]我管你什么图呢反正往上传”的项目。从标题来看,这很可能是一个面向图像处理或内容管理的工具,核心特点是“不挑图”,旨在简化用户上传和处理各类图片的流程。对于经常需要批量处理…

2026/8/14 2:13:13 阅读更多 →

日新闻

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

在这个流量为王、视觉至上的互联网时代,对于临沂乃至整个山东乃至全国的传统中小企业来说,拥有一张精美的“数字名片”早已不再是可选项,而是生存的必答题。每当夜幕降临,沂河两岸灯火辉煌,物流之都的喧嚣逐渐沉淀为对未来的思考。我们常常听到老板们在茶余饭后探讨:为什…

2026/8/14 0:00:26 阅读更多 →
Flutter与OpenHarmony实现剧本杀组队表单开发实战

Flutter与OpenHarmony实现剧本杀组队表单开发实战

1. 项目概述在移动应用开发领域,跨平台框架Flutter因其高效的开发体验和出色的性能表现,已经成为众多开发者的首选。而OpenHarmony作为新兴的操作系统平台,其开放性和灵活性为开发者提供了全新的可能性。本文将聚焦于一个实际应用场景——剧本…

2026/8/14 0:00:26 阅读更多 →
大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

在这个数字化浪潮席卷全球的今天,企业想要在激烈的市场竞争中站稳脚跟,拥有一张好看的“数字名片”已经远远不够了。很多老板在刚开始接触互联网业务时,都有一个共同的困惑:为什么我花了钱建的网站,就像是在真空中自嗨?访客进来转了两圈就跑了,线索石沉大海,甚至连客服…

2026/8/14 0:01:27 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/13 10:41:50 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/13 10:41:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/13 10:41:49 阅读更多 →