线程池的主要核心原理

        之前线程是用到线程就创建线程 等线程用完了就消掉,这样子做非常的浪费资源

        线程池的核心原理:

                首先创建一个线程池线程池里面是空的,提交任务的时候会 池子里面会创建新的线程对象 然后当任务执行完毕就会归还给线程池 下次提交的时候就不会再次创建新的线程池 直接会到池子中拿存在的线程就可以了 ,不过如果在提交任务的时候  池子没有空闲的线程 并且还无法创建新的线程,那么此时任务就会排队等待   。

 

        这是自定义线程池:

d9485e96836f4a07883c28b635a6677c.gif

自定义线程池的流程

 

     根据上图:

        1. 当核心线程数量满了 再次提交时就会 到阻塞队列中等待(排队)

        2. 当核心线程数量满了 阻塞队列也满了的时候 就会创建临时线程来处理任务的提交

        3. 当核心线程数量满了 阻塞队列满了  临时线程处理的任务也满了 那么就会突发拒接策略 就是直接把这个任务丢掉 因为都满了

        比如 核心线程数量3个  最大线程数6个(最大线程数不能 小于 核心线程数 必须是大于线程数   最大线程数 <= 核心线程数    6 - 3  = 3 ) 阻塞队列中有3个空位 

        如果是5个任务    核心线程有3个  处理3个任务  剩下的2个任务就会排到阻塞队列中等待核心线程处理任务完成 才轮到阻塞队列中等待时间最长先提交任务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值