private static final ThreadPoolExecutor EXECUTOR_SERVICE = new ThreadPoolExecutor(5,100,60,TimeUnit.SECONDS,new ArrayBlockingQueue<>(100),
new BasicThreadFactory.Builder().namingPattern("schedule-pool-%d").daemon(true).build()
,new ThreadPoolExecutor.CallerRunsPolicy());
//这里使用的是ThreadPoolExecutor的完整版构造函数
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)