我正在尝试学习如何使用原子:)
class foo {
static std::atomic<uint32_t> count_;
uint32 increase_and_get() {
uint32 t = count_++;
return t;
}
}
函数
increase_and_get()
是线程安全的吗? 最佳答案
是的,这很安全:增量是原子的,并且本地t
不能被并发线程更改。您可以进一步简化代码以完全消除临时变量:
uint32 increase_and_get() {
return count_++;
}
关于c++ - 此功能与原子线程安全吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15103053/