线程池使用基本说明

编程

1.  public ThreadPoolExecutor(int corePoolSize,  

2.                              int maximumPoolSize,  

3.                              long keepAliveTime,  

4.                              TimeUnit unit,  

5.                              BlockingQueue<Runnable> workQueue,  

6.                              ThreadFactory threadFactory,  

7.                              RejectedExecutionHandler handler)

a.corePoolSize:线程池基本线程数,因为一般池的创建分为两种,一种是初始化的时候就进行创建默认的最小连数目,还有一种是当使用的时候才创建,直到创建的数目超过基本数值的时候,后面的获取,才根据池里面的数量空闲状态进行返回,在此之前,都是一直创建,直到超过基本值。

b.maximumPoolSize: 线程池最大容量

c.keepAliveTime: 线程活动保持时间 ,线程在池里面的空闲的时间,相当于外包人员,在长时间没有接到任务的时候,就让他离职!减少负担。

d.unit: 时间单位,这个可以参考TimeUtil 提供了很多精确的时间类型

e.workQueue: 工作队列,这里负责维护多个任务调度,比如当我们进网吧的时候是需要刷卡的,当人比较多的时候需要排队,而且同时还要应对结账的人员,这里用队列的方式进行管理。

f.threadFactory: 线程工厂,这里面提供了多种线程的创建方式

g:RejectedExecutionHandler: 饱和策略,和缓存池类似,我们不可能无限制的分配下去,当线程数量到最大值的时候,我们需要用一种策略进行处理。

以上是 线程池使用基本说明 的全部内容, 来源链接: utcz.com/z/513547.html

回到顶部