线程池的核心参数

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

记忆七个参数

  1. 核心线程数
  1. 核心线程会常驻线程池
  1. 最大线程数
  1. 如果同时执行的任务数超过了核心线程数,且队列已满,会创建新的线程来救急
  2. 总线程数(新线程+原有的核心线程)不超这个最大线程数
  1. 存活时间
  1. 超过核心线程数的线程一旦闲下来,会存活一段时间,然后被销毁
  1. 存活时间单位
  2. 工作队列
  1. 如果同时执行的任务数超过了核心线程数,会把暂时无法处理的任务放入此队列
  1. 线程工厂
  1. 可以控制池中线程的命名规则,是否是守护线程等(不太重要的参数)
  1. 拒绝策略,队列放满任务,且所有线程都被占用,再来新任务,就会有问题,此时有四种拒绝策略:
  1. AbortPolicy 报错策略,直接抛异常
  2. CallerRunsPolicy 推脱策略,线程池不执行任务,推脱给任务提交线程
  3. DiscardOldestPolicy 抛弃最老任务策略,把队列中最早的任务抛弃,新任务加入队列等待
  4. DiscardPolicy 抛弃策略,直接把新任务抛弃不执行
相关文章
|
5月前
|
缓存 JavaScript 前端开发
Vue的生命周期详解及业务场景应用
本文详细介绍Vue.js的生命周期概念及各阶段钩子函数的作用,结合实际业务场景讲解如何合理使用created、mounted、updated等钩子进行数据初始化、DOM操作、资源清理等,帮助开发者提升组件管理能力与代码性能。
239 0
Vue的生命周期详解及业务场景应用
|
6月前
|
Java 数据库 开发者
Java 类加载与代码块执行顺序详解
本文详解Java中静态代码块、实例初始化块、构造器及局部代码块的执行顺序。通过示例分析,揭示类加载与对象创建时的生命周期机制,并总结“静→局→初→构”口诀,帮助开发者合理初始化资源,避免常见错误,提升代码健壮性与可读性。
|
存储 Java C#
深入理解synchronized实现原理
本文深入讲解了Java中`synchronized`关键字的实现原理。`synchronized`确保同一时刻只有一个线程能进入临界区,并保证共享变量的内存可见性。它通过monitor机制实现,作用于方法时使用ACC_SYNCHRONIZED标志,作用于代码块时使用monitorenter和monitorexit指令。每个对象都有一个与之关联的monitor,线程需获取monitor锁才能执行同步代码。Monitor内部包含_EntryList、_Owner、_WaitSet等队列,管理线程的加锁、等待和唤醒过程。
444 0
深入理解synchronized实现原理
|
存储 Java
HashMap的扩容机制是怎样的
在Java中,HashMap 是一个基于哈希表的键值对集合,它以其高效的存取性能而广泛使用。HashMap 的扩容机制是其性能优化的关键部分,本文将详细介绍这一机制的工作原理和过程。
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
2458 12
|
存储 Java 开发者
Java 中的 equals 方法:看似简单,实则深藏玄机
本文深入探讨了Java中`equals`方法的设计与实现。默认情况下,`equals`仅比较对象引用是否相同。以`String`类为例,其重写了`equals`方法,通过引用判断、类型检查、长度对比及字符逐一比对,确保内容相等的逻辑。文章还强调了`equals`方法需遵循的五大原则(自反性、对称性等),以及与`hashCode`的关系,避免集合操作中的潜在问题。最后,对比了`instanceof`和`getClass()`在类型判断中的优劣,并总结了正确重写`equals`方法的重要性,帮助开发者提升代码质量。
925 1
|
消息中间件 Java 数据库连接
Java 反射最全详解 ,框架设计必掌握!
本文详细解析Java反射机制,包括反射的概念、用途、实现原理及应用场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Java 反射最全详解 ,框架设计必掌握!
|
存储 关系型数据库 MySQL
『Mysql』Mysql四种分区方式及组合分区落地实现
📣读完这篇文章里你能收获到 - Mysql分区的概念 - Mysql分区四种分区方式的落地及案例 - Mysql分区的管理
1038 0
『Mysql』Mysql四种分区方式及组合分区落地实现
|
前端开发
浏览器接收Long型数据精度丢失问题的解决方案
浏览器接收Long型数据精度丢失问题的解决方案
|
JavaScript Java 关系型数据库
SpringBoot + Mybatis + Vue的代码生成器
SpringBoot + Mybatis + Vue的代码生成器
507 2

热门文章

最新文章