Java多线程:ThreadPoolExecutor

ThreadPoolExecutor是JDK并发包提供的一个线程池服务,基于ThreadPoolExecutor可以很容易将一个Runnable接口的任务放入线程池中。

public ThreadPoolExecutor(int corePoolSize,  
                          int maximumPoolSize,  
                          long keepAliveTime,  
                          TimeUnit unit,  
                          BlockingQueue<Runnable> workQueue,  
                          RejectedExecutionHandler handler) {  
    this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,  
         Executors.defaultThreadFactory(), handler);  
}

参数解释

corePoolSize:核心线程数,会一直存活,即使没有任务,线程池会维护线程的最少数量。
maximumPoolSize:线程份维护线程的最大数量。
keepAliveTime:线程池维护线程所允许的空闲时间,当线程空闲时间达到keepAliveTime,该线程会退出,直到线程数量等于corePoolSize。如果allowCoreThreadTimeout设置为true,则所有线程均会退出直到线程数量为0.
unit:线程池维护线程所允许空闲时间的单位
workQueue:线程份所使用的缓冲队列
handler:线程池中的数量大于maximuPoolSize,对拒绝任务的处理策略。
相关文章
相关标签/搜索