corePoolSize:线程池中核心线程数的最大值
maximumPoolSize:线程池中能拥有最多线程数
workQueue:用于缓存任务的阻塞队列
keepAliveTime:表示空闲线程的存活时间。
TimeUnitunit:表示keepAliveTime的单位。
- threadFactory:指定创建线程的工厂
- threadFactory:指定创建线程的工厂
handler:表示当workQueue已满,且池中的线程数达到maximumPoolSize时,线程池拒绝添加新任务时采取的策略。
默认拒绝 :
默认情况下,当池中有空闲线程,且线程的数量大于corePoolSize时,空闲时间超过keepAliveTime的线程会自行销毁,池中仅仅会保留corePoolSize个线程。如果线程池中调用了allowCoreThreadTimeOut这个方法,则空闲时间超过keepAliveTime的线程全部都会自行销毁,而不必理会corePoolSize这个参数。
如果池中的线程数量小于corePoolSize时,调用prestartAllCoreThreads方法,则无论是否有待执行的任务,线程池都会创建新的线程,直到池中线程数量达到corePoolSize ;