当前位置: 首页 > news >正文

线程池

线程池

老葛曾讲过: 2025.7.1

现在再次加强,线程池这一概念 2025.8.23

线程池 七大参数

参数 作用 规则 类比
corePoolSize 核心线程数 ≥0 餐厅正式员工
maximumPoolSize 最大线程数 ≥核心线程数 餐厅最大容纳人数
keepAliveTime 空闲线程存活时间 ≥0(配合unit使用) 临时工解雇等待时间
unit 空闲时间单位 TimeUnit枚举 时间单位(秒/分钟)
workQueue 阻塞队列 不能为null 顾客等候区
threadFactory 线程创建工厂 不能为null HR招聘流程
handler 拒绝策略 不能为null 客满时的应对方案

执行流程

flowchart LR A([提交任务]) --> B{核心线程是否满} B --未满--> C[使用核心线程执行] B --已满--> D{队列是否满} D --未满--> E[任务入队等待] D --已满--> F{最大线程是否满} F --未满--> G([创建临时线程执行]) F --已满--> H([触发拒绝策略])

拒绝策略

策略名称 行为描述 特点
AbortPolicy 丢弃任务,
抛出 RejectedExecutionException 异常
默认策略,强制中断流程
DiscardPolicy 直接静默丢弃新提交的任务 无任何通知
DiscardOldestPolicy 丢弃队列中最旧的任务,重试提交新任务 可能丢失等待时间最长的任务
CallerRunsPolicy 将任务退回给调用者线程执行 降低新任务提交速度

线程工厂

JDK提供的线程工厂,存在一些潜在风险,体现在资源控制不当可能导致的系统问题。
具体分析如下:

// 阻塞队列为Integer.MAX_VALUE
Executors.newFixedThreadPool(100);
Executors.newSingleThreadExecutor();
// 最大线程数为Integer.MAX_VALUE
Executors.newCachedThreadPool(new ThreadPoolTaskExecutor().getThreadPoolExecutor().getThreadFactory());
Executors.newScheduledThreadPool(1);

所以实际开发环境中我们都是手动创建并且显式配置核心参数✌。

http://www.sczhlp.com/news/31615/

相关文章:

  • 高等数学 9.1多元函数的基本概念
  • git 数据结构探究之index文件
  • 8/23暑假总结五
  • 20250823 XYD 001 T2
  • php网站留言板模板下载百度大数据分析
  • 公司内部网站创建简述网站推广的方法
  • 寻找网站建设推广网络营销的实现方式包括
  • h5网站实例百度排名优化软件
  • 做五金批发的适合在哪些网站怎么做网页
  • windows2008iis部署及发布网站seo是如何做优化的
  • 前端网站开发毕设类型现在最好的免费的建站平台
  • 网站备案归哪里管seo推广优化排名软件
  • CSharpier C# 的代码格式化工具
  • 律师网站建设方案网站设计开发网站
  • wordpress 写代码台州seo快速排名
  • 网站地址跟网页地址区别竞价托管怎么做
  • 学校网站首页代码html重庆网站排名推广
  • 中国十大电商排行榜杭州百度seo代理
  • 简述建设电子商务网站步骤郑州网络推广哪家口碑好
  • 做网站后台系统的规范北海seo快速排名
  • 郑州网站建设技术方案电商培训班一般多少钱
  • 农产品电子商务网站建设游戏推广员招聘
  • 代码随想录算法训练营第十六天(二叉树篇)|Leetcode530二叉搜索树的最小绝对差,Leetcode501二叉搜索树中的众数,Leetcode236二叉树的最近公共祖先
  • IDEA 最新2025 专业版破解码永久破解教程(附资源)intellij idea
  • 门户网站建设和运行招标公告seo顾问公司
  • 誉重网站建设案例适合口碑营销的产品
  • 微信商城网站建设网络营销的基本内容有哪些
  • 什么网站可以兼职做鸭子哈尔滨最新
  • 咋做网站代码背景图引擎搜索优化
  • 普法网站建设方案网络营销公司有哪些公司