news 2026/6/23 6:25:25

Java常见技术分享-18-多线程安全-进阶模块-并发集合与线程池

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java常见技术分享-18-多线程安全-进阶模块-并发集合与线程池

基本上 Java中重要的多线程编程重要的类都在java.util.concurrent包里边

并发集合 - ConcurrentHashMap

具体实现
Java7

核心实现: 分段锁(原本是 给整个哈希表加全局锁, 变成了对数组的某一范围进行加锁, 通过缩小锁的范围,让更多的操作可以并行执行,保证线程安全)

Java8

核心实现: CAS加上synchronized

核心流程:

volatile 针对哈希表数组的 每一个元素 对应的 链表头 或者 红黑树 根节点 进行修饰 保证了 可见性。

当线程尝试 去 设置 值的时候,比如put(key , value ) ,根据 key找到对应的下标, 然后在插入的操作前 去内存读取 数组中这个下标 对应的 链表头节点(【该数组索引位的旧头节点的引用】), 接着就会执行CAS操作 , compare比较的是 自己当前感知到的 【该数组索引位的旧头节点的引用】, 把这个当作预期值, 如果预期值一致, 那么把 这个索引位 的值更新成 新节点的引用, 这个新节点 后面理论上就是旧的节点。

如果CAS 操作失败, 说明已经有别的线程已经操作了, 失败就会自旋重试 , 典型乐观锁, 当线程竞争激烈的时候, 就会对 链表头节点对象 加synchronized关键字 ,进行加锁
比如synchronized(node) { 插入删除操作}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 11:45:33

YOLO在光污染监测的应用:夜间灯光强度视觉评估

YOLO在光污染监测的应用:夜间灯光强度视觉评估 城市夜晚的灯火辉煌,曾是现代化的象征。然而,当霓虹永不熄灭、路灯彻夜通明,这份“光明”正悄然演变为一种隐形的环境负担——光污染。它不仅遮蔽了星空,扰乱动植物节律&…

作者头像 李华
网站建设 2026/6/6 19:15:10

YOLO模型灰度发布后的性能回归测试

YOLO模型灰度发布后的性能回归测试 在智能制造工厂的视觉质检线上,一台搭载YOLOv8的边缘设备正以每秒60帧的速度检测电路板上的元器件缺陷。某天,运维团队收到告警:系统整体延迟上升了15%,部分工位出现漏检。排查发现,…

作者头像 李华
网站建设 2026/6/19 15:51:56

构建LLM支持的AI Agent创新思维系统

构建LLM支持的AI Agent创新思维系统 关键词:LLM(大语言模型)、AI Agent、创新思维系统、智能交互、认知推理 摘要:本文聚焦于构建基于大语言模型(LLM)支持的AI Agent创新思维系统。详细介绍了相关背景知识,包括目的、预期读者、文档结构等。深入剖析了核心概念,阐述了L…

作者头像 李华
网站建设 2026/6/2 2:53:14

YOLO在空气质量监测的应用:扬尘颗粒物视觉识别

YOLO在空气质量监测的应用:扬尘颗粒物视觉识别 城市工地的塔吊下,尘土随风翻卷,一辆渣土车正缓缓驶出围挡——如果没有盖篷布,这可能就是一次典型的扬尘污染事件。过去,这类行为往往要等到空气检测站读数异常、市民投诉…

作者头像 李华
网站建设 2026/6/16 13:57:46

YOLO在智能楼宇的应用:电梯内人数统计与超载预警

YOLO在智能楼宇的应用:电梯内人数统计与超载预警 在高层建筑林立的今天,电梯早已不是简单的垂直运输工具——它成了衡量楼宇智能化水平的一扇窗口。然而,大多数电梯仍停留在“称重报警”的初级安全阶段。你是否经历过这样的尴尬:几…

作者头像 李华