ThreadPoolExecutor
简单使用
可以使用Executors工具类可以创建
Executors.newCachedThreadPool(); // 它这个方法中也是去new了一个ThreadPoolExecutor对象、只不过给你设置好了默认属性
ThreadPoolExecutor七大参数
int corePoolSize, // 核心线程
int maximumPoolSize, // 最大线程
long keepAliveTime, // 非核心线程空闲时间
TimeUnit unit, // keepAliveTime单位
BlockingQueue<Runnable> workQueue, // 堵塞线程队列
ThreadFactory threadFactory, // 线程工厂
RejectedExecutionHandler handler // 拒绝策略
假设核心线程corePoolSize = 0
、最大线程maximumPoolSize = 1
堵塞队列为两个new ArrayBlockingQueue<>(1)
、这种情况执行到第三个任务就会走拒绝策略。