阅读背景:

CAS存在的问题和解决方案

来源:互联网 

CAS虽然很高效的解决了原子操作问题,但是CAS仍然存在三大问题:

1.ABA问题:因为CAS需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没有发生变化,但是实际上却变化了。ABA问题的解决思路就是使用版本号。在变量前面追加上版本号,每次变量更新的时候把版本号加一,那么A-B-A 就会变成1A-2B-3A1.AB




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: