corePoolSize:核心线程数
线程池维护的最小线程数量,核心线程创建后不会被回收(注意:设置allowCoreThreadTimeout=true后,空闲的核心线程超过存活时间也会被回收)。当一个任务被提交后,会判断是否达到核心线程数,如果没有达到的话,就会创建一个新的线程来处理这个任务
maximumPoolSize:最大线程数
线程池允许创建的最大线程数量。如果达到核心参数,则会加入工作队列,如果队列也满了,则会新创建一个线程来执行,创建的线程数量不可超过最大线程数。
keepAliveTime:空闲线程存活时间
当一个可被回收的线程的空闲时间大于keepAliveTime,就会被回收。
unit:时间单位
workQueue:工作队列
存放待执行任务的队列:当提交的任务数超过核心线程数大小后,再提交的任务就存放在工作队列,任务调度时再从队列中取出任务。它仅仅用来存放被execute()方法提交的Runnable任务。
threadFactory:线程工厂
创建线程的工厂,可以设定线程名、线程编号,是否为守护线程等等。
handler:拒绝策略
当线程池线程数已满,并且工作队列达到限制,新提交的任务使用拒绝策略处理。可以自定义拒绝策略,拒绝策略需要实现RejectedExecutionHandler接口。