线程池的工作原理
- 线程池ThreadPoolExecutor 有四个构造方法,主要区别在于队列后面的参数,此处已参数最多的构造方法进行说明。
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
名称 | 含义 |
---|---|
corePoolSize | 核心线程池大小 |
maximumPoolSize | 最大线程池大小 |
keepAliveTime | 线程最大空闲时间 |
unit | 时间单位 |
workQueue | 线程等待队列 |
threadFactory | 线程创建工厂 |
handler | 拒绝策略 |
- 线程池处理原理:当线程池中有任务需要执行时,线程池会判断如果线程数量没有超过核心数量就会新建线程池进行任务执行