线程池不使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式

Posted 谜一样

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程池不使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式相关的知识,希望对你有一定的参考价值。

线程池不使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样
的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。
说明: Executors 返回的线程池对象的弊端如下:
1) FixedThreadPool 和 SingleThreadPool :
允许的请求队列长度为 Integer.MAX_VALUE ,可能会堆积大量的请求,从而导致 OOM 。
2) CachedThreadPool 和 ScheduledThreadPool :
允许的创建线程数量为 Integer.MAX_VALUE ,可能会创建大量的线程,从而导致 OOM 。

以上是关于线程池不使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式的主要内容,如果未能解决你的问题,请参考以下文章

java~线程池的总结~续

线程池创建使用

Executors介绍

Java线程池容量设置

为什么阿里要禁用 Executors 创建线程池?

Android为啥阿里Android开发手册中,线程池不建议使用Executors去创建?