更新原子<在>中,我必须使用什么内存排序?

时间:2014-01-03 18:35:56

标签: multithreading c++11 atomic

我有一个atomic< int > position;,我希望在同一个帖子中将它增加一个:

void increasePosition()
{
    int temp;
    temp = position.load( memory_order_consume );
    position.store( ++temp, memory_order_release );
}

我可以这样做,还是我犯了错误?内存排序是否正确?

1 个答案:

答案 0 :(得分:6)

我认为你在这里需要atomic_fetch_add,否则你就没有获得原子性。