ThreadPoolExecutor
package java.util.concurrent;
private ExecutorService threadPool = new ThreadPoolExecutor(
4, // int corePoolSize, 核心线程数,一旦创建将不会再释放。
4, // int maximumPoolSize, 最大线程数,允许创建的最大线程数。
60L, // long keepAliveTime, 非核心线程空闲时,允许保存的最大时间,过期以后线程将被释放销毁。
TimeUnit.SECONDS, // TimeUnit unit, 时间单位,TimeUnit.SECONDS等
new LinkedBlockingQueue<Runnable>(1024), // BlockingQueue<Runnable> workQueue, 任务队列,存储暂时无法执行的线程任务,等待空闲线程来执行。此处只可以是BlockingQueue<Runnable>,所以不能使用ConcurrentLinkedQueue<Runnable>
Executors.defaultThreadFactory(), // ThreadFactory threadFactory, 线程工厂,用于创建线程。
new ThreadPoolExecutor.CallerRunsPolicy() // RejectedExecutionHandler handler 当线程边界和队列容量达到最大时,用于处理阻塞时的程序。
);
ThreadPoolTa