线程池参数:
线程池一共有7个参数,分别是:
public ThreadPoolExcutor(
int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler){
}
corePoolSize 线程池核心线程大小
线程池会维护一个最小的线程数量,即使这些线程处于空闲状态,它们也不会被销毁maximumPoolSize 最大线程数量
如果 1.核心线程全部处于工作状态
2.等待队列已满
那么新加入任务后,线程池会创建一个新的线程,这个新线程用于处理等待队列首部的任务,新的任务被加入到等待队列的尾部
线程池不会无限制地去创建新线程,它会有一个最大线程数量的限制,即不能超过maximumPoolSize
keepAliveTime
如果当前线程数量超过核心线程数量,并且存在线程处于空闲状态,那么在指定时间KeepAliveTime后,这个空闲的线程将会被销毁unit
KeepAliveTime的单位workQueue 工作队列
即等待队列,在创建时应指定大小线程工厂
拒绝策略