美文网首页
线程池底层原理和拒绝策略

线程池底层原理和拒绝策略

作者: 长孙俊明 | 来源:发表于2019-10-17 18:43 被阅读0次

线程池底层原理

用一个银行网点说明底层原理
线程池相当于一个银行网点,假设网点有五个柜台(maximumPoolSize),而银行有固定的业务柜台是2个(相当于corePoolSize),当办理业务柜台满了,客人到候客区(workQueue)等待,侯客区超过三个人之后,启动另外三个柜台进行办理业务,此时五个柜台已经全部都在工作,如果候客区还是满了,银行网点就会采用拒绝进入银行办理业务(保安会说,现在银行里面已经满了,请到别处办理)。如果新开的三个柜台超时一定时间(keepAliveTime)没有人办理业务,则关闭柜台。

拒绝策略

有四种拒绝策略
AbortPolicy 直接抛出异常阻住系统正常运行
CallerRunsPolicy 将任务返回给调用者
DiscardOldestPolicy 将队列中等待最久的任务删除掉,加入新的任务
DiscardPolicy 直接抛弃任务,不给于任何处理不抛异常,也就是说,任务会丢失掉。

相关文章

  • Java线程池拒绝策略

    【Java线程池拒绝任务策略】创建线程池可以指定拒绝策略如下: 一 拒绝时机1) 调用线程池的shutdown函数...

  • ThreadPoolExecutor

    线程池 拒绝策略 线程池的拒绝策略,即任务被添加到线程池中被拒绝而采取的处理措施。任务被拒绝的原因可能有: 线程池...

  • 多线程juc线程池

    java_basic juc线程池 创建线程池 handler是线程池拒绝策略 排队策略 线程池状态 RUNNIN...

  • 线程池概述

    为什么要使用线程池? 线程池核心参数 线程池的几种拒绝策略 execute()和submit()的区别 线程池工作...

  • 一文搞懂Java线程池原理之ThreadPoolExecutor

    在工作中,我们经常使用线程池,但是你真的了解线程池的原理吗?同时,线程池工作原理和底层实现原理也是面试经常问的考题...

  • ThreadPoolExecutor的RejectedExecu

    java 线程池ThreadPoolExecutor的拒绝策略有: CallerRunsPolicy : 当线程池...

  • 线程池底层原理和拒绝策略

    线程池底层原理 用一个银行网点说明底层原理线程池相当于一个银行网点,假设网点有五个柜台(maximumPoolSi...

  • 安卓面试笔记

    OKhttp线程池策略,线程池丢弃策略,jsbridge原理与native交互过程,okhttp源码,子线程之间通...

  • 线程池

    线程池执行过程 线程池生命周期 线程池分类 阻塞队列 拒绝策略 - ThreadPoolExecutor.Abor...

  • 信号量用法:锁

    用于dubbo线程池满的拒绝策略

网友评论

      本文标题:线程池底层原理和拒绝策略

      本文链接:https://www.haomeiwen.com/subject/ybyvmctx.html