一、newFixedThreadPool
- 通过newFixedThreadPool方法返回ThreadPoolExecutor实例,主要有两个重载的方法:
newFixedThreadPool(int nThreads) 和 newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
- 作用:
创建一个固定大小的线程池,nThreads为线程池的核心线程数和最大线程数,threadFactory为线程工厂。
二、newSingleThreadExecutor
- 通过newSingleThreadExecutor方法返回的ThreadPoolExecutor实例,主要有两个重载的方法:
newSingleThreadExecutor() 和 newSingleThreadExecutor(ThreadFactory threadFactory)
- 作用:
创建一个只有核心线程和最大线程数都为1的线程池,threadFactory为线程工厂。
三、newCachedThreadPool
- 通过newCachedThreadPool方法返回的ThreadPoolExecutor实例,主要有两个重载的方法:
newCachedThreadPool() 和 newCachedThreadPool(ThreadFactory threadFactory)
- 作用:
创建一个根据需要线程数目的线程池,创建的线程会缓存60s,有新任务时使用缓存的线程,无任务时自动释放,没有缓存的线程可供使用的话就创建一个新的线程。
四、newScheduledThreadPool
- 通过newScheduledThreadPool方法返回的ThreadPoolExecutor实例,主要有两个重载的方法:
newScheduledThreadPool(int corePoolSize) 和 newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
作用:创建一个核心线程数为corePoolSize最大线程数为Integer.MAX_VALUE的可调度线程池,threadFactory为线程工厂。