相关疑难解决方法(0)

原子读取是否保证读取最新值?

在 C++ 中,我们有关键字volatileatomic类。它们之间的区别是,volatile 不保证线程安全的并发读写,而只是保证编译器不会将变量的值存储在缓存中,而是从内存中加载变量,而 atomic 保证线程安全的并发读写。

众所周知,原子读操作是不可分割的,即当一个或多个线程读取变量的值时,两个线程都不能将新值写入变量,所以我认为我们总是读取最新值,但我不确定:)

所以,我的问题是:如果我们声明原子变量,我们是否总是获得变量调用load()操作的最新值

c++ multithreading atomic volatile

7
推荐指数
1
解决办法
1712
查看次数

标签 统计

atomic ×1

c++ ×1

multithreading ×1

volatile ×1