CAS:Compare and Swap, 比较并交换blog
CAS有3个操做数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改成B,不然什么都不作。内存
1.获取当前值循环
2.计算出目标值引用
3.当前值跟目标值对比,进行CAS操做。若是成功跳出循环,若是失败则重复上步骤im
CAS会形成ABA(A->B,B->A)问题,不知道中途数据发生了修改数据
引用:http://www.sohu.com/a/215510186_465221db