JDK 里面的自带的线程池为啥都不改一下实现?
資深大佬 : huntcool001 5
RT, 说的就是 Executors.newFixedThreadPool()的那几个实现.
要么就是队列是无界的(newFixedThreadPool,newSingleThreadExecutor)
要么就是线程池数量没有上限(newCachedThreadPool)
结果就是生产里大家基本都不会用 Executors 里的这几个实现,不然挺容易内存爆掉. 估计不少人都遇到过这个问题.所以阿里的规范里要求都是自己用 ThreadPoolExecutor 实现一个,放一个有界队列进去.
我的问题就是,为啥 JDK 的维护者不多加个构造函数,允许指定队列上限的?
比如说 Executors.newFixedThreadPool(int queueCapcity)
大佬有話說 (12)