_Atomic int val = 10; int expected = 10; int desired = 20; atomic_compare_exchange_strong(&val, &expected, desired);
_Atomic int val = 10; int expected = 10; int desired = 20; atomic_compare_exchange_strong(&val, &expected, desired);
如果val等于expected(10),则将val设为desired(20),返回true
如果val不等于expected,则将expected更新为val的当前值,返回false
此操作是原子的,适用于实现无锁数据结构
atomic_compare_exchange_weak和strong的区别是weak不允许虚假失败

这道题你会答吗?花几分钟告诉大家答案吧!