Executor框架提供了集中线程池工厂方法
public static ExecutorService newFixedThreadPool(int nThreads)
public static ExecutorService newSingleThreadExecutor()
public static ExecutorService newCachedThreadPool()
public static ScheduledExecutorService newSingleThreadScheduledExecutor()
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
这些工厂方法返回具有不同性质的线程池
(1)newFixedThreadPool()
返回一个固定线程数目的线程池。当有新的任务提交时,线程池若有空闲线程,则立即执行,若没有则新任务被暂存至一个任务队列中,待有线程空闲时,便处理任务队列中的任务
(2)newSingleThreadExecutor()
返回一个只有一个线程的线程池,若多余一个任务被提交到该线程池,则会在线程池空闲之前暂存至任务队列中。
(3)newCachedThreadPool()
返回一个可根据实际情况调整数量的线程池,当所有线程都在占用时,又有新的任务提交,则会创建新的线程处理。
(4)newSingleThreadScheduledExecutor()
返回一个ScheduledExecutorService对象,线程池大小为1,ScheduledExecutorService接口在ExecutorService接口之上扩展了在给定时间内执行特定任务的功能特性。