侧边栏壁纸
博主头像
Monkey部落博主等级

Monkey部落,分享技术、经验、遇到的问题及解决方法,欢迎大家互相讨论分享。

  • 累计撰写 59 篇文章
  • 累计创建 36 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

CAS的原理

Monkey部落
2024-04-08 / 0 评论 / 0 点赞 / 524 阅读 / 264 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-04-08,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

CAS的原理

CAS(compare and swap) 是一种乐观的并发控制机制,它的核心原理是基于硬件层面的原子性保证。CAS操作包含三个操作数:内存位置(V)、预期原值(A)、新值(B)。工作原理:

  1. 在将新值写入内存之前,CAS操作会先比较内存位置的值是否与预期原值想匹配。
  2. 如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置的值更新为新值。
  3. 如果内存位置的值与预期原值不匹配,则CAS操作失败,不会修改原值。

CAS的优势在与他没有阻塞状态,不会引起线程上下文的切换和调度问题。但是CAS存在ABA问题和开销问题。因为CAS自旋操作需要不断轮询内存位置,直到成功为止,这会消耗大量的CPU资源。

0

评论区