这是原子计数器的示例 但我认为它不安全。
代码:volatile int i;
int get_value()
{
return i;
}
int set_value(int x)
{
i = x;
}
我知道gcc atomic builtin,但我找不到 atomic set value 操作。
在我的代码中,我认为以这种方式安全地获取值,有必要吗?
inline uint64_t get_value()
{
return __sync_fetch_and_add(&m_value, 0L);
}
而且我不知道如何设置原子值。