我对std::atomic::compare_exchange_weak的虚假失败感到困惑。
编辑:为了澄清第三点:我不是指由CAS更改变量值本身,而是指更改“预期”参数引用。问题是compare_exchange_weak是否更改了对变量当前值的引用--无论是一般情况还是在出现虚假故障的情况下。我之所以这样做,是因为我的代码假设在CAS之后,“预期”参数保存当前值。(根据我对第二个问题的回答,我认为答案是“预期”论点在弱版本中从未更新过。对吗?)
发布于 2016-12-13 21:47:11
弱交换函数可能无法更新,以便在引擎盖下具有更高的性能实现。它们通常用于循环检查,而在不太重要的地方,因为它会在下一个循环迭代中得到它。
所以具体的答案..。
https://stackoverflow.com/questions/41130990
复制相似问题