因为JDK提供的几种线程池底层均是通过ThreadPoolExecutors构造函数封
装的,而ThreadPoolExecutors底层采用的LinkedBlockingQueue是以int类
型的最大值作为缓存并发队列的最大容量,这样会导致缓存并发队列一直不
能达到最大容量,导致最大线程数失效,进而导致内存溢出问题。
阿里巴巴为什么不建议直接使用Executors?
最新推荐文章于 2024-07-21 22:27:18 发布
因为JDK提供的几种线程池底层均是通过ThreadPoolExecutors构造函数封
装的,而ThreadPoolExecutors底层采用的LinkedBlockingQueue是以int类
型的最大值作为缓存并发队列的最大容量,这样会导致缓存并发队列一直不
能达到最大容量,导致最大线程数失效,进而导致内存溢出问题。