Java中提供了基于 Executors 构建线程池的方式
直接使用Executors构建会造成对线程池的控制力度很粗
必须以 手动 的方式构建线程池
public ThreadPoolExecutor(int corePoolSize, // 核心线程
int maximumPoolSize, // 最大线程数
long keepAliveTime, // 生存时间
TimeUnit unit, // 单位
BlockingQueue<Runnable> workQueue, // 任务队列
ThreadFactory threadFactory, // 线程工厂、为了设置线程的名称,方便后面做调试
RejectedExecutionHandler handler) {} // 拒绝策略