当前位置:   article > 正文

CAS原理、应用和缺点_怎么理解cas, cas有哪些缺陷

怎么理解cas, cas有哪些缺陷

一、基本原理

CAS 被认为是一种乐观锁,乐观锁,会以一种更加乐观的态度对待事情,认为自己可以操作成功。当多个线程操作同一个共享资源时,仅能有一个线程同一时间获得锁成功,在乐观锁中,其他线程发现自己无法成功获得锁,并不会像悲观锁那样阻塞线程,而是直接返回,可以去选择再次重试获得锁,也可以直接退出。

CAS,( Compare And Swap),对比之后交换数据,有几个重要的参数:

(1)this,Unsafe 对象本身,需要通过这个类来获取 value 的内存偏移地址。

(2)valueOffset,value 变量的内存偏移地址。

(3)expect,期望更新的值。

(4)update,要更新的最新值。

比较 expect的值和内存地址this + valueOffset中存储的值,如果一致,把地址中的值替换update值,否则失败,然后重新获取内存地址的当前值,并重新计算想要修改的新值,这个重新尝试的过程叫做自旋

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/311432
推荐阅读
相关标签
  

闽ICP备14008679号