20210424
1、讲一下线程参数的含义
corePoolSize:线程池核心线程数最大值
当我们向线程池提交任务时,线程池会创建一个新线程来执行任务,直到当前线程数等于corePoolSize,核心线程一旦创建就一直存在。
maximumPoolSize:线程池中最大线程数大小
当阻塞队列已满且线程数小于maximumPoolSize,继续提交的任务会创建新线程执行。
keepAliveTime:线程池中非核心线程的空闲存活时间大小 该参数只在线程数大于corePoolSize时才有用,即对非核心线程生效。
TimeUnit:keepAliveTime的单位 非核心线程空闲存活时间的单位。
workQueue:存放任务的阻塞队列 如果当前线程数大于corePoolSize,继续提交的任务被保存到阻塞队列中,等待被执行
threadFactory:创建线程的工厂 可以自定义线程名,以及重写newThread方法,线程池就是调用threadFactory的newThread方法来创建线程的。
RejectedExecutionHandler:线程池的饱和策略
当线程池已满,且线程数达到maximumPoolSize,新提交的任务将执行拒绝策略