CAS的全称是: Compare And Swap(比较再交换);它体现的一种乐观锁的思想,在无锁状态下保证线程操作数据的原子性。
具体实现流程是这样的:有一个当前内存值V,旧的预期值A,和即将更新的值B。当且仅当旧的预期值A与内存值V相同时,才会将内存值V改为B,并返回true,否则什么都不做,返回false。如果CAS操作失败,会通过自旋的方式等待并再次尝试,直到成功