Web — 线程池的创建方式

Posted Putarmor

tags:

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

线程池的创建分为两大类Executors和ThreadPoolExecutor的方式:

1.Executors.newFixedThreadPool:创建一个固个数大小的线程池,其应用场景是任务可控,也就是说可控制并发线程数,超出的线程会在队列中等待。

2.Executors.newCachedThreadPool:创建一个带缓存的线程池,应用场景是存在大量短期任务,当线程数超过处理所需,缓存一段时间后会回收,若线程数不够,则新创建线程。

3.Executors.newScheduledThreadPool:创建可以执行定时任务的线程池

4.Executors.newSingleThreadScheduledExecutor:创建一个单线程的可以执行定时任务的线程池

5.Executors.newSingleThreadExecutor:创建单个线程的线程池,优点:避免频繁线程创建与销毁,保证了线程先进先出的执行顺序,可以更好地分配执行任务

6.Executors.newWorkStealingPool:创建一个抢占式执行的线程池(任务执行顺序不确定),根据cpu核心数与任务量生成对应的线程池

7.ThreadPoolExecutor:最原始的创建线程池的方式,阿里巴巴开发手册中推荐使用这种方式去创建线程池,它包含了7个重要的参数。

以上是关于Web — 线程池的创建方式的主要内容,如果未能解决你的问题,请参考以下文章

多线程(六):线程池

多线程(六):线程池

线程池的创建

创建线程池的核心方式 --- ThreadPoolExecutor

线程池的优点及线程池的创建方式

线程池的五种状态及创建线程池的几种方式