public class threadPoolFactory {
//corePoolSize线程核心数
private static final int CORE_POOL_SIZE = 5;
//最大线程
private static final int MAXIMUM_POOL_SIZE = 10;
//等待时间
private static final Long KEEP_ALIVE_TIME = 1L;;
//unit: 等待时间的单位为 TimeUnit.SECONDS。
//任务队列为 ArrayBlockingQueue,并且容量为 100;
private static final int QUEUE_CAPACITY = 100;
//andler:饱和策略为 CallerRunsPolicy。
private static final ThreadPoolExecutor executor = new ThreadPoolExecutor(
CORE_POOL_SIZE,
MAXIMUM_POOL_SIZE,
KEEP_ALIVE_TIME,
TimeUnit.SECONDS,
new ArrayBlockingQueue<Runnable>(QUEUE_CAPACITY),
new ThreadPoolExecutor.CallerRunsPolicy()
);
public static ThreadPoolExecutor getExecutor() {
return executor;
}
}
06-02
3394
07-10
2018
10-06
339
09-10