-
Java 线程池配置完全指南:从一次"线程池把服务拖到 OOM"看懂为什么不能用 Executors
2023 年我给一个订单服务加异步处理下单成功后要发通知写审计流水更新统计报表这些事都不该卡住下单这条主流程我决定把它们丢给一个线程池在后台异步做第一版我做得很顺手一行 Executors.newFixedThreadPool 拿到一个 10 线程的池子业务里需要异步的地方任务 submit 进去就不管了本地我测了测任务都正常执行完了我心里很笃定线程池嘛就是设一个线程数我把任务交给它它就用那几个线…- 3
- 0
-
CompletableFuture 踩坑:异步任务静默失败,异常被吞了的复盘
商品聚合详情接口用 CompletableFuture 并发调下游,上线后页面偶发少一块内容,接口却返回 200、日志干净。排查发现是异常被 future 静默吞掉、getNow 没等结果取到 null、共用 commonPool。几天治理:exceptionally 接异常、独立线程池、allOf 等齐 + orTimeout 降级、MDC/TTL 传上下文。- 0
- 0
-
线程池踩坑:无界队列把堆撑爆,一次 OOM 宕机的复盘
活动高峰服务反复 OOM 宕机,dump 分析发现一个线程池队列里堆了三百多万个任务,几个 G 的堆全被它占满。罪魁是 Executors.newFixedThreadPool 默认的无界队列。几天治理:显式构造 ThreadPoolExecutor、有界队列、拒绝策略产生背压、按业务隔离线程池、补齐 7 类监控指标。- 0
- 0
Java并发
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!



