(1)(since C++11) boolcompare_exchange_weak(T&expected, T desired, std::memory_ordersuccess, std::memory_orderfailure)volatilenoexcept; (2)(since C++11) boolcompare_exchange_weak(T&expected, T desired, std::memory_orderorder= std::memory_order_seq_cst)noexcept; ...
bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak()是C ++ 11中提供的比较交换原语之一。 即使对象的值等于expected,它也会返回错误,因此它是弱的。 这是由于某些平台上伪指令(而不是x86上的指令)被用来实现伪故障。 在这样的平台上,上下文切换,由另一个线程重新加载相同地址(...