【并发编程篇24】不建议使用Executors创建线程池原因

69 阅读1分钟

不建议使用Executors创建线程池原因

阿里开发手册中,说了不建议使用Executors创建线程池。而是建议通过ThreadPoolExecutor创建线程池,是因为这种方式能让开发者更加明确线程池的运行规则,规避资源耗尽的风险。

比如:

  • newFixedThreadPool和newSingleThreadPool两种方式,允许的请求队列长度都是Integer.MAX_VALUE,可能会堆积大量的请求,从而导致OOM

  • newCacheThreadPool:允许的创建线程数是Integer.MAX_VALUE,可能会创建大量的线程,从而导致OOM