首页文章正文

线程池的四种拒绝策略,java线程池实现原理

创建线程池的七个参数 2023-12-11 12:27 224 墨鱼
创建线程池的七个参数

线程池的四种拒绝策略,java线程池实现原理

四种拒绝策略:AbortPolicy(默认) : 抛出异常,并删除任务。CallerRunsPolicy:用调用者所在的线程处理任务,此策略提供简单的反馈控制机制,能够减缓新任务的提交速度。Discar如果去看ThreadPoolExecutor的源码,会看到四种拒绝策略其实在ThreadPoolExecutor是四个内部类二、逐一介绍1、AbortPolicy 当任务添加到线程池中被拒绝时,它

●ω● 使用场景:适用于希望调用者自己处理被拒绝的任务的场景,通常是由调用者自身的线程来执行被拒绝的任务。优点:1)新提交的任务不会被丢弃,这不会造成业务损失。Java中提供了四种线程池的拒绝策略,分别是:1. AbortPolicy(默认):直接抛出RejectedExecutionException异常,阻止系统正常运行。2. CallerRunsPolicy:只要线程池未关闭,该策

结果是符合预期的,这也证明了线程池的默认拒绝策略是ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。四、设置线程池拒绝策略如果我们想要根据实CallerRunsPolicy:这是默认的拒绝策略,当线程池队列已满并且无法处理新任务时,将由提交任务的线程来执行该任务。这种策略可以降低新任务的流量,但也会增加提交

拒绝策略1.png 2.DiscardPolicy: 拒绝任务silently discards the rejected task. privatestaticvoidtestDiscardPolicy()throws InterruptedException{ThreadP线程池有哪4 种拒绝策略?第一种拒绝策略是AbortPolicy,这种拒绝策略在拒绝任务时,会直接抛出一个类型为RejectedExecutionException 的RuntimeException,让

后台-插件-广告管理-内容页尾部广告(手机)

标签: java线程池实现原理

发表评论

评论列表

51加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号