CAS是什么?

提问者:帅平 问题分类:面试刷题

CAS是什么?

1 个回答
国民小哥哥
国民小哥哥

CAS的全称为compare and swap,比较并交换,它是一个原子性的操作,对应到CPU指令为cmpxchg。CAS的操作其实非常简单,示例如下:

CAS 有三个操作数:当前值A、内存值V、要修改的新值B
假设 当前值A 跟 内存值V 相等,那就将 内存值V 改成B
假设 当前值A 跟 内存值V 不相等,要么就重试,要么就放弃更新
将当前值与内存值进行对比,判断是否有被修改过,这就是CAS的核心

发布于:6天前
我来回答