线程池参数解析

线程池不恰当的设置会导致效率低下,设置低于单线程的效率。

corePoolSize,核心线程数的个数。
当线程池被创建时,默认的情况下是没有线程产生的,除非调用了prestartCoreThread()的方法。这里假设没有调用prestartCoreThread(),那么一开始的时候线程的个数为0。

直到有任务进来,每一个任务进来,就会对应一个线程的产生。当线程的个数达到核心线程的个数时,会把任务放到等待队列中去,queueCapacity表示该队列可以存放的任务个数大小。

当等待队列中的任务个数达到queueCapacity的时候,并且当前线程个数是大于等于核心线程数时,线程的个数就会再次增加,一直增加到maxPoolSize的值。

当线程个数已经达到maxPollSize时,新进来的任务会被拒绝处理然后抛出异常。

当任务并不是很多的时候,线程就会处于空闲状态。当线程空闲时间达到keepAliveTime,该线程会退出,直到线程数量等于corePoolSize。如果allowCoreThreadTimeout设置为true,则核心线程也会推出,即所有线程均会退出直到线程数量为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值