public ThreadPoolExecutor(int corePoolSize, //核心线程数,超过这个值时要在线程池中等待 int maximumPoolSize, //最大线程数,超过这个线程数则执行拒绝策略 long keepAliveTime, //活跃线程数大于核心线程数时,空闲的多余线程最大存活时间 TimeUnit unit, //单位 BlockingQueue<Runnable> workQueue,//工作队列 RejectedExecutionHandler handler) //拒绝策略
工作原理: 当一个任务进线程池时,首先判断线程池里的核心线程是否都在执行任务,不是(核心线程空闲或者还有核心线程没有被创建)则创建一个新的工作线程来执行任务,否则判断线程池工作队列
是否未满,工作队列没有满,则将新提交的任2019-03-22务存储在这个工作队列,否则判断执行线程是否都处于工作状态,如果没有,则创建一个新的工作线程来执行任务,已经满了,则交给饱和策略来处理这
个任务。
原文:https://www.cnblogs.com/facker1/p/10581268.html