Java通过Executors提供四种线程池,分别为:
newCachedThreadPool创建一个可缓存线程池,线程池长度超过需要,灵活回收。
newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务执行顺序先进先出。
https://www.cnblogs.com/baizhanshi/p/5469948.html
executorService = Executors.newCachedThreadPool();
线程池无限大,第一个任务执行完成后,依次执行第二个任务,复用第一个任务的线程,不创建新线程。也就是所有任务走的是同一线程。
====
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(
3
);
定长线程池的大小为3,个人理解:每次执行线程池会执行3个线程。