public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
参数说明:
corePoolSize:核心线程数
maximumPoolSize:最大线程数
keepAliveTime:闲置线程存活时间
unit:时间单位
workQueue:线程队列
threadFactory:线程工厂
handler:异常处理策略
比如去银行柜台办理业务,银行一共有10个办理窗口(最大线程数),平时只有5个窗口开放(核心线程数)。如果开放的5个窗口都被占用,而且银行里排了很多人,就类似于线程队列已满,这个时候行长决定把剩下的5个窗口也打开,如果10个窗口还是处理不过来,银行大厅已经人满为患了,行长决定暂时封闭大门,不允许再进来人了,这就类似于线程的异常处理策略。闲置线程存活时间就相当于运行窗口业务员休息的时间。