最经常使用构造方法为:html
ThreadPoolExecutor(int corePoolSize,JAVA中IP和整数相互转化
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
java
RejectedExecutionHandler handler)缓存
JDK自带的配置好的线程池: spa
// 固定工做线程数量的线程池
ExecutorService executorService1 = Executors.newFixedThreadPool(3);
// 一个可缓存的线程池
ExecutorService executorService2 = Executors.newCachedThreadPool();
// 单线程化的Executor
ExecutorService executorService3 = Executors.newSingleThreadExecutor();
// 支持定时的以及周期性的任务执行
ExecutorService executorService4 = Executors.newScheduledThreadPool(3);
这些预约义好的线程池服务也是基于ThreadPoolExecutor配置的,因此咱们应该从最基本的参数着手了解,以下:
参数详细说明:集装箱运费
[ 1 ]、corePoolSize: 线程池维护线程的最少数量
[ 2 ]、maximumPoolSize:线程池维护线程的最大数量
[ 3 ]、keepAliveTime: 线程池维护线程所容许的空闲时间
[ 4 ]、unit: 线程池维护线程所容许的空闲时间的单位,unit可选的参数为java.util.concurrent.TimeUnit中的几个静态属性:.net