线程池是如何启动线程的

啃完小龙虾掐指一算,周末又要结束了,赶紧来记录并分享点东西… … … 日常工作中多多少少都会需要用多线程去处理一些事情,下面就来记录并分享下线程池启动线程相关的知识:

一、线程池的好处
合理利用线程池会带来以下好处:
无限制的创建和销毁线程不仅会消耗系统资源还会降低系统的稳定性,线程池减少了线程的创建和销毁操作,从而可以提高一些性能。需要线程时,线程可立即执行,无需重新创建。

二、启动策略
1)当线程池刚创建时,线程池内是无线程的状态,任务队列是以参数的形式传入线程池的,线程池不会立即执行队列中的任务。
2)线程池在启动任务时会先做以下判断:
a、如果正在运行的线程数量小于corePoolSize,则立马创建相关任务。
b、如果正在运行的线程数量大于或等于corePoolSize,则将任务放入任务队列等待。
c、如果队列已满,且正在运行的线程数量小于maximumPoolSize,则创建线程执行任务。
d、如果队列已满,且正在运行的线程数量大于或等于maximumPoolSize,则抛异常。
3)当一个线程完成任务后,会到队列中取任务继续执行。
4)当队列为空时,线程的存活时间超过keepAliveTime,如果当前运行的线程数大于corePoolSize则这个线程会被销毁,故而线程池内所有的任务都完成后,线程的数量会缩到corePoolSize的大小。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值