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

开满天机
TA贡献1786条经验 获得超13个赞
似乎没有方法... Executors只是一个使用了工厂方法的线程池工具类, FixThreadPool, CachedThreadPool等等都是基于处理某一种或某种特殊情境下的线程池, 因此不支持设置参数, 只能通过监视计算机的状态来设置不同的值提高性能;
如果非要动态伸缩的话, 建议自行继承ThreadPoolExecutor类, 重写beforeExecute,afterExecute,terminated方法, 搭配coreSize, maxinumSize, keepalivetime的set方法进行动态调整.
添加回答
举报
0/150
提交
取消