标签: multithreading c++11 atomic
我有一个atomic< int > position;,我希望在同一个帖子中将它增加一个:
atomic< int > position;
void increasePosition() { int temp; temp = position.load( memory_order_consume ); position.store( ++temp, memory_order_release ); }
我可以这样做,还是我犯了错误?内存排序是否正确?
答案 0 :(得分:6)
我认为你在这里需要atomic_fetch_add,否则你就没有获得原子性。
atomic_fetch_add