@cxm-2016
2016-08-10T10:40:21.000000Z
字数 746
阅读 1850
java
no
ThreadPoolExecutor是线程池的真正实现,它的构造方法如下:
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory)
线程池核心线程数,默认情况下核心线程一直存活。如果给ThreadPoolExecutor的allowCoreThreadTimeOut属性设置为true,核心线程才会采用超时策略。并且此时间由keepAliveTime指定。
线程池所能容纳的最大线程数,当活动线程数达到最大值时,后续线程将被阻塞。
非核心线程的超时时长,超过该时长后,非核心线程将会被回收。
指定keepAliveTime的时间单位,TimeUnit是一个存放时间单位的枚举类型。
线程中的任务队列,通过execute提交的Runnable对象会被存储在队列中。
线程工厂,提供新建线程的功能。