线程池如何实现参数的动态修改?

线程池提供了几个 setter方法来设置线程池的参数。

1.png

动态修改线程池参数

  • 在我们微服务的架构下,可以利用配置中心如Nacos、Apollo等等,也可以自己开发配置中心。业务服务读取线程池配置,获取相应的线程池实例来修改线程池的参数。
  • 如果限制了配置中心的使用,也可以自己去扩展ThreadPoolExecutor,重写方法,监听线程池参数变化,来动态修改线程池参数。

线程池调优了解吗?

线程池配置没有固定的公式,通常事前会对线程池进行一定评估,常见的评估方案如下:

2.png

上线之前也要进行充分的测试,上线之后要建立完善的线程池监控机制。

事中结合监控告警机制,分析线程池的问题,或者可优化点,结合线程池动态参数配置机制来调整配置。

事后要注意仔细观察,随时调整。

3.png

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题