1. 什么是CAS?
CAS 的全称是 Compare and swap 直译过来就是 比较并交换。
其实 CAS 是一个原子的硬件指令去完成比较并交换这个操作的,也就是 CAS 是 CPU 提供的一个特殊指令!
既然是原子的,也就是说 CAS 是可以保证线程安全的!
这里就来介绍下 CAS 的简单逻辑:
假设内存中的原数据为 V,旧的预期值是 A,需要修改的新值是 B (A和B是寄存器中的值)
-
比较 A 与 V 是否相等 (compare)
-
如果 A 与 V 相等,就将 B 写入 V (swap),不相等则无事发生
-
返回当前的操作是否成功
其实 CAS 就是这么简单&#