一、线程池的拒绝策略

当等待队列满时,且达到最⼤线程数,再有新任务到来,就需要启动拒绝策略。

JDK提供了四种拒绝策 略,分别是。

1. AbortPolicy:默认的策略,直接抛出 RejectedExecutionException 异常,阻⽌系统正常运 ⾏。

2. CallerRunsPolicy:既不会抛出异常,也不会终⽌任务,⽽是将任务返回给调⽤者,从⽽降低新 任务的流量。

3. DiscardOldestPolicy:抛弃队列中等待最久的任务,然后把当前任务加⼊队列中尝试再次提交任务。

4. DiscardPolicy:该策略默默地丢弃⽆法处理的任务,不予任何处理也不抛出异常。如果允许任务 丢失,这是最好的⼀种策略。

二、AbortPolicy拒绝策略

三、CallerRunsPolicy拒绝策略

四、DiscardOldestPolicy拒绝策略

五、DiscardPolicy拒绝策略

java并发编程(11)-- 线程池 拒绝策略相关推荐

  1. [转]Java并发编程:线程池的使用

    Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了, ...

  2. Java并发编程:线程池的使用

    在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...

  3. 【Java 并发编程】线程池机制 ( ThreadPoolExecutor 线程池构造参数分析 | 核心线程数 | 最大线程数 | 非核心线程存活时间 | 任务阻塞队列 )

    文章目录 前言 一.ThreadPoolExecutor 构造参数 二.newCachedThreadPool 参数分析 三.newFixedThreadPool 参数分析 四.newSingleTh ...

  4. (转)Java并发编程:线程池的使用

    背景:线程池在面试时候经常遇到,反复出现的问题就是理解不深入,不能做到游刃有余.所以这篇博客是要深入总结线程池的使用. ThreadPoolExecutor的继承关系 线程池的原理 1.线程池状态(4 ...

  5. Java并发编程一线程池简介

    推荐:Java并发编程汇总 Java并发编程一线程池简介 为什么我们需要使用线程池? 我们知道线程是一种比较昂贵的资源,我们通过程序每创建一个线程去执行,其实操作系统都会对应地创建一个线程去执行我们的 ...

  6. 【Java 并发编程】线程池机制 ( 线程池示例 | newCachedThreadPool | newFixedThreadPool | newSingleThreadExecutor )

    文章目录 前言 一.线程池示例 二.newCachedThreadPool 线程池示例 三.newFixedThreadPool 线程池示例 三.newSingleThreadExecutor 线程池 ...

  7. Java并发编程一线程池的五种状态

    推荐:Java并发编程汇总 Java并发编程一线程池的五种状态 原文地址 Java多线程线程池(4)–线程池的五种状态 正文 线程池的5种状态:Running.ShutDown.Stop.Tidyin ...

  8. 【Java 并发编程】线程池机制 ( 线程池阻塞队列 | 线程池拒绝策略 | 使用 ThreadPoolExecutor 自定义线程池参数 )

    文章目录 一.线程池阻塞队列 二.拒绝策略 三.使用 ThreadPoolExecutor 自定义线程池参数 一.线程池阻塞队列 线程池阻塞队列是线程池创建的第 555 个参数 : BlockingQ ...

  9. Java并发编程:线程池

    一.为什么使用线程池 使用线程的时候直接就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降 ...

  10. Java并发编程之线程池及示例

    1.Executor 线程池顶级接口.定义方法,void execute(Runnable).方法是用于处理任务的一个服务方法.调用者提供Runnable 接口的实现,线程池通过线程执行这个 Runn ...

最新文章

  1. reg型变量怎么赋值_UiPath变量的介绍和使用
  2. 本地编译和交叉编译的区别
  3. bgss::spherical_side_formula用法的测试程序
  4. 32位 shell.efi x86_Ubuntu 20.04 LTS或不再支持32位x86 (i386)
  5. element-ui el-radio 回显格式为中文 传值格式为数值
  6. 【Python】一维数据格式化
  7. Eclipse Pydev 技巧汇编
  8. 基础篇5-python基本数据类型讲解1.1
  9. java filter bme_节点红色,想截断BME280传感器的结果
  10. facebook加密货币项目_Facebook数字货币:Libra的起源—加密货币(比特币)
  11. 使用two.js生成的卫星环绕动画效果
  12. 图书馆占座系统(五)
  13. “乘风破浪”的芒果超媒,能上岸吗?
  14. html实现图片轮播切换箭头,最简单jquery实现带左右箭头和数字焦点的图片轮播...
  15. android 实时同步短信,备份Android短信的4种方法你最好知道
  16. OA项目实战学习(3)——实现岗位管理增删改查
  17. 电脑计算机word2007的介绍,word2007电脑版
  18. 一顿操作猛如虎,仔细一看原地杵,程序员为什么要读源代码
  19. ubuntu error symbol ‘grub_calloc‘ not fount
  20. php程序克隆,php克隆 - freedom - OSCHINA - 中文开源技术交流社区

热门文章

  1. 自己写的一个asp.net-cookies购物车类
  2. ASP.NET MVC分页的实现(上)
  3. xp也可以将U盘格为NTFS
  4. CICD - Teamcity 配置之一: 数据库自动部署
  5. HDU 5820 Lights(扫描线+zkw线段树)
  6. .net 跳出Frameset框架
  7. SDWebImage下载和缓存图片(UIImge)
  8. 在html中写python代码的语法和特点-----基于webpy的httpserver
  9. SqlPlus中退格键和方向键的设置
  10. MFC 中获取各种类指针的方法