[关闭]
@cxm-2016 2016-08-10T10:40:21.000000Z 字数 746 阅读 1855

ThreadPoolExecutor参数详解

java no


ThreadPoolExecutor是线程池的真正实现,它的构造方法如下:

  1. public ThreadPoolExecutor(int corePoolSize,
  2. int maximumPoolSize,
  3. long keepAliveTime,
  4. TimeUnit unit,
  5. BlockingQueue<Runnable> workQueue,
  6. ThreadFactory threadFactory)

corePoolSize: Int

线程池核心线程数,默认情况下核心线程一直存活。如果给ThreadPoolExecutor的allowCoreThreadTimeOut属性设置为true,核心线程才会采用超时策略。并且此时间由keepAliveTime指定。

maximumPoolSize: Int

线程池所能容纳的最大线程数,当活动线程数达到最大值时,后续线程将被阻塞。

keepAliveTime: Long

非核心线程的超时时长,超过该时长后,非核心线程将会被回收。

unit: TimeUnit

指定keepAliveTime的时间单位,TimeUnit是一个存放时间单位的枚举类型。

workQueue: BlockingQueue

线程中的任务队列,通过execute提交的Runnable对象会被存储在队列中。

threadFactory: ThreadFactory

线程工厂,提供新建线程的功能。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注