cacheThreadPool,我理解的是只要max没满就可以无限创建线程
来源:8-3 线程池-3
![](http://img1.sycdn.imooc.com/user/59bfb10d000149a602000200-100-100.jpg)
pookly
2019-04-29
如果把corePoolSize设置Integer.MAX_VALUE,省去了queue是否满的判断,这样会不会更好?
写回答
1回答
-
Jimin
2019-04-29
你好,理论上是可以这样做,但实际中这样设置代码是有问题的,首先你的系统不一定能开那么多thread,其次开启thread是要消耗内存和cpu资源的,你的java进程可以使用的内存是有限的,可以使用的cpu资源也是受服务器限制的,还有一点是,过多的线程会导致cpu时间片调度变得更复杂(所以线程调度一轮可能需要花费很长一段时间),导致达不到使用线程池的效果。corePoolSize开的太大,其实就已经失去了线程池的意义。
012019-05-16
相似问题