我相信答案是肯定的,就像在Java中一样。
如果我错了,请纠正我。
如果我需要使用互斥,我可以使用std::mutex
和其他人。
如果我只需要顺序一致性而不是相互排斥怎么办?什么可以用于此?
答案 0 :(得分:1)
是的 - 请std::atomic
与memory_order_seq_cst
一致,了解顺序一致性。
答案 1 :(得分:0)
对std::atomic<whatever>
类型的对象执行的各个操作是原子的,但就其而言。所以std::atomic<int>::fetch_add()
是原子的。但
std::atomic<int> x;
...
int tmp = x.load();
tmp += 1;
x.store(tmp);
只是顺序一致,而不是原子。