`
ahua186186
  • 浏览: 554812 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

线程池拒绝策略分析

阅读更多
(1)AbortPolicy:

java.util.concurrent.RejectedExecutionException (触发条件:线程数=maximumPoolSize 且 queue已满),后果:线程池终止  --非常严重,证明需要流量控制了,或者资源容量需要扩容了


(2)DiscardPolicy :策略会悄悄抛弃新提交的任务 (触发条件:线程数=maximumPoolSize 且 queue已满),后果:丢弃新任务数据


(3)DiscardOldestPolicy :抛弃旧的线程  (触发条件:线程数=maximumPoolSize 且 queue已满),后果:丢弃旧任务数据

(4)CallerRunsPolicy :即不用线程池中的线程执行,而是交给调用方来执行 (触发条件:线程数=maximumPoolSize 且 queue已满),后果:超出容量评估的流量会交给调用方慢慢的执行

我个人喜好用CallerRunsPolicy ,至少能保证系统基本可用(但是可能会拖垮CPU和JVM, CPU一般都有预警,所以高峰期的核心目标还是控制流量),当然如果你的流量数据是允许丢失的,用DiscardOldestPolicy ,DiscardPolicy 是最好的策略
分享到:
评论

相关推荐

    Java线程池的拒绝策略实现详解

    主要介绍了Java线程池的拒绝策略实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    java线程池示例(包含自定义拒绝策略) #资源达人分享计划#

    线程池示例(包含自定义拒绝策略),演示了如何创建一个线程池,以及添加到队列的过程,先添加到工作线程,然后是缓存队列,最后是创建临时线程

    线程池详解:线程池七大核心参数、线程池工作原理、线程池的创建方式、线程池的拒绝策略、如何合理分配线程池大小

    线程池详解:线程池七大核心参数、线程池工作原理、线程池的创建方式、线程池的拒绝策略、如何合理分配线程池大小 文件内容包括pdf文件和思维导图

    java线程池的源码分析.zip

    java线程池的源码分析以及各种池之间的对比;

    线程池线程池线程池线程池

    线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池线程池...

    阻塞线程池 阻塞线程池 阻塞线程池

    阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池阻塞线程池...

    线程池源码分析

    线程池ThreadPoolExecutor的源码分析,含中文注释,深入了解线程池的构造

    12、线程池ThreadPoolExecutor实战及其原理分析(下)

    线程池ThreadPoolExecutor实战及其原理分析(下)线程池ThreadPoolExecutor实战及其原理分析(下)线程池ThreadPoolExecutor实战及其原理分析(下)线程池ThreadPoolExecutor实战及其原理分析(下)线程池ThreadPoolExecutor...

    Linux 线程池源码分析

    非常详细的线程池函数接口分析,可以帮助初学者加深对线程池的理解,更好的去把线程池运用到实例中去,线程池就是多个线程组合在一起的集合,就像一家公司一样,由多个员工组成的一个集合,当有任务时, 这些线程就...

    c++线程池实现原理分析

    该文档为c++开发的线程池,可以作为参考

    concurrent线程池的实现技术分析

    结合本人的开发经验,对线程池的实现原理和技术进行分析,并对concurrent线程池源码和算法进行分析。

    Java 线程池.docx

    资源回答:为什么需要线程池?常见的线程池有哪几个种?线程池的核心参数有哪几个?线程池的核心原理?线程池的拒绝策略。属于高频面试题

    线程池  

    VC实现线程池

    java线程池概念.txt

    3:对线程池的基本使用及其部分源码的分析(注意:这里的源码分析是基于jdk1.6;) a:线程池的状态 volatile int runState; static final int RUNNING = 0; 运行状态 static final int SHUTDOWN = 1; 关闭状态;...

    论文研究-应用于实时控制系统的线程池调度策略设计.pdf

    提出了基于用户意图的动态访问控制模型,即依据用户提交的访问意图对内部用户进行访问控制和行为监控,并利用层次分析法AHP对监控得到的用户行为证据进行定量分析评估,然后根据评估结果对内部用户行为进行控制;...

    JDK自带线程池分析

    本案例详细介绍了JDK自带线程池,与spring的线程池相比,其更好,希望对大家有帮助

    java线程池工作队列饱和策略代码示例

    主要介绍了java线程池工作队列饱和策略代码示例,涉及线程池的简单介绍,工作队列饱和策略的分析及代码示例,具有一定参考价值,需要的朋友可以了解下。

    Java简单线程池 线程池中文文档

    简单的线程池程序+中文文档 包结构: com.tangkai.threadpool --SimpleThread.java 工作线程 --TestThreadPool.java 程序入口 --ThreadPoolManager.java 线程池管理类

    详解Java线程池的ctl(线程池控制状态)【源码分析】.docx

    分析一波: 1.ctl (线程池控制状态)是 原子整型 的,这意味这 对它进行的操作具有原子性。 2.如此一来,作为 ctl 组成部分的 runState (线程池生命周期状态)和 workerCount (工作线程数) 也将同时具有原子性。 3....

    Mina的线程池实现分析

    线程池是并发应用中,为了减少每个任务调用的开销增强性能而经常使用的技术。在mina中大量的使用这一技术,除了Executors的工厂方法构建线程池之外,它还继承自ThreadPoolExecutor提供自己的线程池的实现...

Global site tag (gtag.js) - Google Analytics