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

悲观锁和乐观锁

悲观锁和乐观锁

引言

以下代码:

count++

执行步骤:

  1. 读取count
  2. 将值加1
  3. 将新值写入
    场景:
    线程A如果读取了count,还没写入新值,线程B也读取了count,那么当线程B结束,则线程A等于白干。

悲观锁

synchronized:安全,但有代价。
即假设了会发生冲突,则提前获取锁才能进行操作,迫使其他线程等待。(即永远做最坏的打算)在任何时间只有1个线程能进来干活。

缺点:大量线程争抢同一把锁则会拖慢系统运行速度。

乐观锁

CAS:(比较并交换循环)快,完全不加锁。
假设冲突很少发生,直接尝试更新,当数据在此期间被其他线程改变了才会失败。
步骤:

  1. 读取当前值(count)
  2. 计算新值(count+1)
  3. 原子性检查:当前值仍然是count吗,是,则与count+1交换(换上新值)。
  4. 检查失败,则返回第一步重试。

整个CAS机制是直接植入硬件中的,由CPU里的特殊原子指令来支持的。

缺点:会出现ABA问题,即:

graph LR 1[A] --> b --> 2[A]

如果一个值变了,又变回了原来的样子。
即线程A拿到了值,突然线程B冲进来改了值做完运算并又改了回来。A则认为这个值仍然是原来的那个值。
解决方案:给值加入版本号(戳记)。Java类:atomic stamped reference
则A线程不仅要校验值,也要校验版本号。

使用法则

比较:

特性 synchronized 原子变量(CAS)
并发策略 悲观锁 乐观锁
线程状态 可能阻塞/挂起 非阻塞,自旋重试
开销 高(上下文切换) 低(硬件级)
操作粒度 粗(代码块) 细(单个变量)
安全性 无ABA问题 存在ABA问题

synchronized:适用用来保护大块复杂业务逻辑代码。
CAS:保护单个变量。(性能优化的首选)

http://www.jsqmd.com/news/355635/

相关文章:

  • 2026年 AGV搬运机器人厂家推荐排行榜:激光导航/潜伏式/叉式/堆高机器人等智能仓储物流设备源头企业深度解析 - 品牌企业推荐师(官方)
  • 构建你自己的VK视频下载器:技术解析与高效工具推荐
  • 洛谷 P1115 最大子段和 题解
  • 电子学会青少年机器人技术(二级)等级考试试卷-实际操作(2025年12月)
  • 开题报告不用愁!虎贲等考 AI 一键搭框架,让研究思路秒清晰
  • 宏智树 AI:论文双检时代,教你降重降 AIGC 的底层逻辑
  • 电子学会青少年机器人技术(一级)等级考试试卷-实际操作(2025年12月)
  • 电子学会青少年机器人技术(三级)等级考试试卷-实际操作(2025年12月)
  • 【石墨烯】石墨烯载流子密度模型(三维半导体载流子模型拟合到石墨烯模型上)【含Matlab源码 15070期】
  • MySQL 核心数据类型详解与实战案例 - 详解
  • Unity物理引擎:刚体碰撞与力的终极指南
  • 【太阳】Parker太阳风解模型(含物理单位换算、密度剖面及与经验日冕模型的比较)【含Matlab源码 15068期】
  • YOLO多模态融合检测,轻松上手跑自己的数据集实验教学!获取YOLO多模态项目源码,配置虚拟环境,准备数据集、训练、验证、推理测试 。实现0到1的完整教学过程。快速入门必看
  • 《YOLO多模态创新改进专栏目录 》全网独家创新,多模态融合改进教程,包含早期融合、中期融合、后期融合、损失函数改进、二次创新模块、独家创新等几百种创新点改进,答疑群提供完整项目,永久更新中
  • 2026年24小时开锁修锁换锁服务推荐评测:应对紧急突发与价格疑虑的深度排名分析 - 品牌推荐
  • 技术博谈:解析VK视频下载器的实现原理与合理使用
  • 小论文/大论文必备 | YOLO多模态目标检测,计算FPS模型性能 | 测试最优模型FPS指标,既可以凑实验章节工作量、又能助力论文模型性能加分。FPS值越大越好
  • AI写论文哪个软件最好?答案藏在3个学术写作底层需求里
  • 2026年 上海保洁服务公司推荐榜单:专业外墙清洗、门头清洗、地毯清洗、大理石翻新保养与涂料工程一站式服务精选 - 品牌企业推荐师(官方)
  • 小论文/大论文必备 | YOLO多模态目标检测、绘制曲线对比图 | 引入多种绘制曲线对比图,包括mAP0.5,mAP0.5:0.95,Loss损失变化的曲线对比
  • 深度解析与进阶指南:武汉德宝装备机器人工程师职位探微
  • 小论文/大论文必备| YOLO多模态热力图可视化| 引入多种热力图可视化GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM, HiResCAM等方法,助力论文加分
  • VK视频下载器的技术实现解析与合规应用实践
  • 迈向工业级鲁棒性:深入解析机器人SLAM工程师的核心能力与技术挑战
  • 在线 AI 视频生成最强工具:把灵感直接变成“可用成片”
  • 2026国内最新天然野生沉香厂商top10推荐!广东广州等地优质天然野生沉香公司权威榜单发布,品质服务双优助力沉香收藏与品鉴 - 品牌推荐2026
  • VK视频下载的技术实践:解析公开视频直链的原理与实现
  • 梁实秋《送行》
  • AI元人文:悟空悖论——悬鉴而行
  • hello_agent第十章总结