您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页CAS的ABA问题(乐观锁策略)

CAS的ABA问题(乐观锁策略)

来源:爱站旅游

CAS(compare and swap)乐观锁策略。

CAS(V, O, N)   V:内存中实际的值  O:期望的值,也是当前线程持有的值  N:想要改变成的新值

假设有两个线程 A 和 B  

A,和B同时拿到内存中的V值==M 也是就是期望值,

A线程 判断内存中的值等于期望值可以改 ------>将 内存中V值改位 N ,,,经过一些操作又将内存中的V值改成M,  而此时B线程呢由于是并发的 ,所以一直在比较期望的 旧值(M)与内存中的值是否相等,因为线程A经过两次更改将 内存中的值变回为了B线程期望的值(M)

所以此时 B线程成功执行操作,但A呢?以前A执行操作不就没有作用。这就是ABA问题。

 

现在的解决办法就是加上版本号,就像每次的游戏更新包一样,看起来都一样,但只要加上版本号就能区别开来。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务