首页 新闻 会员 周边 捐助

大家有遇到Java线程池的问题吗,都是怎么解决的?

0
悬赏园豆:10 [待解决问题]

Java线程池ThreadPoolExecutor配置问题,比如线程池出现拒绝任务或运行缓慢等。

xkzhangsanx的主页 xkzhangsanx | 初学一级 | 园豆:189
提问于:2024-10-17 13:20
< >
分享
所有回答(2)
1

1、找到运行缓慢的原因,和预期差多大。(根本)
2、自定义拒绝策略,比如,当线程池满时,把请求放到 MQ 中,延迟处理。
3、扩容。
根据业务场景做优化。

快乐的欧阳天美1114 | 园豆:4006 (老鸟四级) | 2024-10-17 21:05

1.怎么找运行缓慢的原因,有什么好的方法吗

支持(0) 反对(0) xkzhangsanx | 园豆:189 (初学一级) | 2024-10-17 21:48

@xkzhangsanx:
1、调试;2、打印执行时间。

支持(0) 反对(0) 快乐的欧阳天美1114 | 园豆:4006 (老鸟四级) | 2024-10-17 21:53

@快乐的总统95: 您好,看一下这个线程池监控的工具,帮忙看一下有没有问题,谢谢!

支持(0) 反对(0) xkzhangsanx | 园豆:189 (初学一级) | 2024-10-18 16:10
1

1调整 corePoolSize、maximumPoolSize 和 workQueue 的大小,使其与任务负载匹配。
2选择合适的拒绝策略避免任务丢失或异常抛出。
3监控和优化线程池的运行状况,确保任务能及时处理并避免过多堆积。

景伟·郭 | 园豆:152 (初学一级) | 2024-10-21 10:55

有什么好的监控方法吗?

支持(0) 反对(0) xkzhangsanx | 园豆:189 (初学一级) | 2024-10-21 18:59

@xkzhangsanx: Micrometer、Prometheus了解一下

支持(1) 反对(0) 景伟·郭 | 园豆:152 (初学一级) | 2024-10-30 11:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册