线程池的核心参数

简介: 记忆线程池七大参数:核心线程数、最大线程数、存活时间及单位、工作队列、线程工厂和拒绝策略。核心线程常驻,超出部分在队列满后创建,超时销毁;四种拒绝策略应对过载。

记忆七个参数

  1. 核心线程数
  1. 核心线程会常驻线程池
  1. 最大线程数
  1. 如果同时执行的任务数超过了核心线程数,且队列已满,会创建新的线程来救急
  2. 总线程数(新线程+原有的核心线程)不超这个最大线程数
  1. 存活时间
  1. 超过核心线程数的线程一旦闲下来,会存活一段时间,然后被销毁
  1. 存活时间单位
  2. 工作队列
  1. 如果同时执行的任务数超过了核心线程数,会把暂时无法处理的任务放入此队列
  1. 线程工厂
  1. 可以控制池中线程的命名规则,是否是守护线程等(不太重要的参数)
  1. 拒绝策略,队列放满任务,且所有线程都被占用,再来新任务,就会有问题,此时有四种拒绝策略:
  1. AbortPolicy 报错策略,直接抛异常
  2. CallerRunsPolicy 推脱策略,线程池不执行任务,推脱给任务提交线程
  3. DiscardOldestPolicy 抛弃最老任务策略,把队列中最早的任务抛弃,新任务加入队列等待
  4. DiscardPolicy 抛弃策略,直接把新任务抛弃不执行
相关文章
|
8月前
|
缓存 JavaScript 前端开发
Vue的生命周期详解及业务场景应用
本文详细介绍Vue.js的生命周期概念及各阶段钩子函数的作用,结合实际业务场景讲解如何合理使用created、mounted、updated等钩子进行数据初始化、DOM操作、资源清理等,帮助开发者提升组件管理能力与代码性能。
327 0
Vue的生命周期详解及业务场景应用
|
存储 Java C#
深入理解synchronized实现原理
本文深入讲解了Java中`synchronized`关键字的实现原理。`synchronized`确保同一时刻只有一个线程能进入临界区,并保证共享变量的内存可见性。它通过monitor机制实现,作用于方法时使用ACC_SYNCHRONIZED标志,作用于代码块时使用monitorenter和monitorexit指令。每个对象都有一个与之关联的monitor,线程需获取monitor锁才能执行同步代码。Monitor内部包含_EntryList、_Owner、_WaitSet等队列,管理线程的加锁、等待和唤醒过程。
518 0
深入理解synchronized实现原理
|
存储 Java
HashMap的扩容机制是怎样的
在Java中,HashMap 是一个基于哈希表的键值对集合,它以其高效的存取性能而广泛使用。HashMap 的扩容机制是其性能优化的关键部分,本文将详细介绍这一机制的工作原理和过程。
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
2674 12
|
存储 关系型数据库 MySQL
『Mysql』Mysql四种分区方式及组合分区落地实现
📣读完这篇文章里你能收获到 - Mysql分区的概念 - Mysql分区四种分区方式的落地及案例 - Mysql分区的管理
1113 0
『Mysql』Mysql四种分区方式及组合分区落地实现
|
消息中间件 Java 数据库连接
Java 反射最全详解 ,框架设计必掌握!
本文详细解析Java反射机制,包括反射的概念、用途、实现原理及应用场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Java 反射最全详解 ,框架设计必掌握!
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
JavaScript 前端开发 Java
SpringBoot配置文件 —— 超详细全方位教程
本文是一篇关于SpringBoot配置文件的超详细全方位教程,涵盖了配置文件的作用、SpringBoot中的配置文件格式、优先级、properties和yml配置文件的详解及语法、读取配置文件的方法、转义字符和单双引号的使用、配置对象、集合和Map,以及yml的优缺点。
2180 0
SpringBoot配置文件 —— 超详细全方位教程

热门文章

最新文章