Executors和ThreaPoolExecutor创建线程池有什么区别呢?
下文笔者讲述Executors和ThreaPoolExecutor创建线程池的区别说明,如下所示
注意事项: 阿里巴巴开发手册,曾规定,创建线程池不允许使用Executors去创建 而必须通过ThreadPoolExecutor方式创建线程池 下文笔者将讲述各种创建线程池的缺点,如下所示
Executors各个方法的缺点
newFixedThreadPool和newSingleThreadExecutor: 主要问题是堆积的请求处理队列可能会耗费非常大的内存 可能会导致OOM newCachedThreadPool和newScheduledThreadPool: 主要问题是线程数最大数是Integer.MAX_VALUE 可能会创建数量非常多的线程,可能会导致OOM
ThreaPoolExecutor创建线程池方式只有一种 即:使用其构造函数,并传入自身的参数生成线程池
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。