1. Executors.newFixedThreadPool:
- 创建一个固定大小的线程池,可控制并发的线程数,超出的线程会在队列中等待;
- 当线程发生未预期的错误而结束时,线程池会补充一个新的线程。
2.Executors.newCachedThreadPool
- 创建一个可缓存的线程池,如果线程池的规模超过了处理需求,将自动回收空闲线程,而当需求增加时,则可以自动添加新线程,线程池的规模不存在任何限制。
3. Executors.newSingleThreadExecutor:
- 创建单个线程数的线程池,它可以保证先进先出的执行顺序;
- 相当于大小为 1 的 FixedThreadPool。
- SingleThreadExecutor的意义在于统一所有外界任务一个线程中,这使得这些任务之间不需要处理线程同步的问题
4. Executors.newScheduledThreadPool:
- 创建了一个固定长度的线程池,而且以延迟或定时的方式来执行任务,类似于Timer
5.Executors.newSingleThreadScheduledExecutor:
6. Executors.newWorkStealingPool:
ThreadPoolExecutor构造函数参数详细介绍
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)