ThreadPoolExcecutor构造方法参数
1.继承关系
Executor
↑
ExecutorService
↑
AbstractExecutorService
↑
ThreadPoolExecutor
public ThreadPoolExecutor(int corePoolSize,int maxNumPoolSize, long ReepAliveTime,TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectExecutionHandler handler){
}
corePoolSize:线程池核心线程数
maxNumPoolSize:线程池最大数
ReepAliveTime:空闲线程存活时间
unit:时间单位
workQueue:线程池所使用的缓冲队列
threadFactory:线程池创建使用的工厂
handler:线程池对拒绝任务的处理策略
特性一:当池中正在运行的线程数(包括空闲线程),小于corePoolSize时,从线程池中取线程执行任务。
特性二:当池中正在运行的线程数大于等于corePoolSize时,新插入的任务进入workQueue排队。
特性三:当队列里的任务达到上限,并且池中正在运行的线程数小于maxNumPoolSize,对于新加入的任务,新建线程。
特性四:当队列里的任务数达到上限,并且池中正在运行的线程数等于maxNumPoolSize,对于新加入的任务,执行拒绝策略(默认策略跑出RejectdExcutionException)