image.png

image.png

1. 核心参数

核心线程数(corePoolSize)

初始池大小

核心池大小,既然如前原理部分所述。需要注意的是在初创建线程池时线程不会立即启动,直到有任务提交才开始启动线程并逐渐时线程数目达到corePoolSize。若想一开始就创建所有核心线程需调用prestartAllCoreThreads方法

最大线程数(maximumPoolSize)

最大池大小(允许同时执行的最大线程数)

池中允许的最大线程数。需要注意的是当核心线程满且阻塞队列也满时才会判断当前线程数是否小于最大线程数,并决定是否创建新线程

空闲线程存活时间(keepAliveTime)

当线程数大于核心时,多于的空闲线程最多存活时间

keepAliveTime设置为0L,意味着多余的空闲线程会被立即终止。

存活时间单位(unit)

keepAliveTime 参数的时间单位

工作队列 workQueue 队列