|Java之路-线程池-线程池的创建方式有哪些?(004)

|Java之路-线程池-线程池的创建方式有哪些?(004)


在Java中 , 线程池原生的创建的方式有下面几种:
1)Executors.newCachedThreadPool() ; 可缓存线程池
2)Executors.newFixedThreadPool() ; 可定长度 , 限制最大线程数
3)Executors.newScheduledThreadPool() ; 可定时线程池
4)Executors.newSingleThreadExecutor() ; 单例线程池
然后我们在阿里巴巴Java开发手册中是都不推荐的这几种方式;
因为 这四种底层都是基于ThreadPoolExecutor() 构造函数封装的 ,
【|Java之路-线程池-线程池的创建方式有哪些?(004)】这个构造函数底层代码是无界队列缓存任务的(最大线程数用的是Integer.MAX_VALUE) , 有可能发生线程池溢出的问题 , 如果需要使用的话 , 也是建议去通过ThreadPoolExecutor()自己封装限定线程数的线程池;