关于CAS原子性的疑问
会不会有这种场景:
如有一个值为3
A线程想把他更新成4,先比较期望值是不是3,比较完后,正要进行替换操作。线程被切了。
线程B成功把3变成5
线程A恢复后,执行替换操作又把它变成了4。
总得来说CAS是如何保证 比较和替换 这两个操作是原子性的。
#Java开发#会不会有这种场景:
如有一个值为3
A线程想把他更新成4,先比较期望值是不是3,比较完后,正要进行替换操作。线程被切了。
线程B成功把3变成5
线程A恢复后,执行替换操作又把它变成了4。
总得来说CAS是如何保证 比较和替换 这两个操作是原子性的。
#Java开发#相关推荐
招聘动态