通过相应的方法,能创建出6种线程池
1.ExecutoirService executorService1 = Exectors.newCachedThreadPool();
创建一个可以根据需要创建新线程的线程池,如果有空闲线程,优先使用空闲的线程。
2.ExecutoirService executorService2 = Exectors.newFixedThreadPool(2);
创建一个固定大小的线程池,在任何时候,最多只有N个线程在处理任务
3.ScheduledExcutorService executorService3 =
Excutors.newScheduledThreadPool(1);
能延迟执行,定时执行的线程池;
4.ExecutoirService executorService4 = Exectors.newWorkStealingPool();
工作窃取,使用多个队列来减少竞争。
5.ExecutoirService executorService5 = Exectors.newSingleThreadExcutor();
单一线程的线程次,只会使用唯一一个线程来执行任务,即使提交再多的任务,也都会放到等待队列中中进行等待;
6.ScheduledExcutorService executorService6 =
Excutors.newScheduledThreadPool(1);
单线程能延迟执行,定时执行的线程池。