Java线程池ThreadPoolExecutor配置问题,比如线程池出现拒绝任务或运行缓慢等。
1、找到运行缓慢的原因,和预期差多大。(根本)
2、自定义拒绝策略,比如,当线程池满时,把请求放到 MQ 中,延迟处理。
3、扩容。
根据业务场景做优化。
1.怎么找运行缓慢的原因,有什么好的方法吗
@xkzhangsanx:
1、调试;2、打印执行时间。
@快乐的总统95: 您好,看一下这个线程池监控的工具,帮忙看一下有没有问题,谢谢!
1调整 corePoolSize、maximumPoolSize 和 workQueue 的大小,使其与任务负载匹配。
2选择合适的拒绝策略避免任务丢失或异常抛出。
3监控和优化线程池的运行状况,确保任务能及时处理并避免过多堆积。
有什么好的监控方法吗?
@xkzhangsanx: Micrometer、Prometheus了解一下