通过相应的方法,能创建出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); 单线程能延迟执行,定时执行的线程池。