Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我相信答案是肯定的,就像在 Java 中一样。
如果我错了,请纠正我。
如果我需要只使用互斥,我可以使用std::mutex和其他人。
std::mutex
如果我只需要顺序一致性而不需要互斥怎么办?可以用来做什么?
是的 - 请参阅std::atomicwith 以memory_order_seq_cst了解顺序一致性。
std::atomic
memory_order_seq_cst
对类型对象执行的单个操作std::atomic<whatever>是原子的,但仅此而已。std::atomic<int>::fetch_add()原子也是如此。但
std::atomic<whatever>
std::atomic<int>::fetch_add()
std::atomic<int> x; ... int tmp = x.load(); tmp += 1; x.store(tmp);
只是顺序一致,而不是原子的。