CAS:Compare and Swap, 比较并交换
CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。
1.获取当前值
2.计算出目标值
3.当前值跟目标值对比,进行CAS操作。如果成功跳出循环,如果失败则重复上步骤
CAS会造成ABA(A->B,B->A)问题,不知道中途数据发生了修改
引用:http://www.sohu.com/a/215510186_465221
本文共 278 字,大约阅读时间需要 1 分钟。
CAS:Compare and Swap, 比较并交换
CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。
1.获取当前值
2.计算出目标值
3.当前值跟目标值对比,进行CAS操作。如果成功跳出循环,如果失败则重复上步骤
CAS会造成ABA(A->B,B->A)问题,不知道中途数据发生了修改
引用:http://www.sohu.com/a/215510186_465221
转载于:https://my.oschina.net/u/3098425/blog/2054436