cas会带来哪些问题?

提问者:帅平 问题分类:面试刷题
cas会带来哪些问题?
CAS
2 个回答
命中不缺狗
命中不缺狗
CAS 有个缺点就是会带来 ABA 的问题。
从 CAS 更新的时候,我们可以发现它只比对当前值和内存值是否相等,这会带来个问题,下面我举例说明下:
假设线程 A 读到当前值是 10,可能线程 B 把值修改为 100,然后线程 C 又把值修改为 10。
等到线程 A 拿到执行权时,因为当前值和内存值是一致的,线程A是可以修改的!
站在线程 A 的角度来说,这个值是从未被修改的 。
这是不合理的,因为我们从上帝的角度来看,这个变量已经被线程 B 和线程 C 修改过了。
发布于:5个月前 (01-03) IP属地:未知
我来回答