CAS机制


还有就是这个atomic包,使用可以达到synchronized的效果,实现原理就是CAS了。

CAS也叫自旋锁,是乐观锁的主要实现原理,其实很简单和数据库差不多,数据库是搞一个字段A,修改时把A获取+1,刷新时,比较如果比A大,成功,一样,失败。


CAS也一样,只是用在线程里面,他就是旧的预期值A和内存地址的V比较,一样,ok,不一样,失败,重新获取。

ABA问题


这个问题你想想,在银行存取款时就有大问题了。

解决办法就是加个版本号,每次在比较一次版本号。

这个网站讲的很好

https://blog.csdn.net/qq_32998153/article/details/79529704

你可能感兴趣的:(CAS机制)