一尘不染

为什么通过newCachedThreadPool创建的ExecutorService是邪恶的?

java

Paul Tyma的演讲有以下内容:

Executors.newCacheThreadPool邪恶,死死

为什么是邪恶的?

我会冒险猜测:是因为线程数将以无限制的方式增长。因此,如果达到了JVM的最大线程数,被斜线标记的服务器可能会死掉?


阅读 197

收藏
2020-12-03

共1个答案

一尘不染

问题Executors.newCacheThreadPool()在于执行器将创建和启动执行执行提交给它的任务所需的尽可能多的线程。尽管可以通过释放完成的线程(阈值是可配置的)来缓解这种情况,但这确实可能导致严重的资源匮乏,甚至使JVM(或某些设计不良的OS)崩溃。

2020-12-03