2022-04-15 10:37:07 晓掌柜 版权声明:本文为站长原创文章,转载请写明出处
线程池的创建方式总共包含以下 7 种(其中 6 种是通过 Executors 创建的,1 种是通过ThreadPoolExecutor 创建的):
创建一个固定大小的线程池,可控制并发的线程数,超出的线程会在队列中等待;
创建一个可缓存的线程池,若线程数超过处理所需,缓存一段时间后会回收,若线程数不够,则新建线程;
创建单个线程数的线程池,它可以保证先进先出的执行顺序;
创建一个可以执行延迟任务的线程池;
创建一个单线程的可以执行延迟任务的线程池;
创建一个抢占式执行的线程池(任务执行顺序不确定)【JDK 1.8 添加】。
最原始的创建线程池的方式,它包含了 7 个参数可供设置。单线程池的意义从以上可以看出 newSingleThreadExecutor 和 newSingleThreadScheduledExecutor 创建的都是单线程池,那么单线程池的意义是什么呢?答:虽然是单线程池,但提供了工作队列,生命周期管理,工作线程维护等功能。