java 使用current包固定线程池对象,如何动态伸缩?

1.假如应用启动时使用newFixedThreadPool初始化了3个线程,如何在重启的情况下,
调整线程池的大小?
ExecutorService executorService=Executors.newFixedThreadPool(3);

阅读 3.8k
1 个回答

似乎没有方法... Executors只是一个使用了工厂方法的线程池工具类, FixThreadPool, CachedThreadPool等等都是基于处理某一种或某种特殊情境下的线程池, 因此不支持设置参数, 只能通过监视计算机的状态来设置不同的值提高性能;
如果非要动态伸缩的话, 建议自行继承ThreadPoolExecutor类, 重写beforeExecute,afterExecute,terminated方法, 搭配coreSize, maxinumSize, keepalivetime的set方法进行动态调整.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题