C++的 std atomic 有捎带同步的效果吗?
資深大佬 : amiwrong123 3
https://www.cnblogs.com/zhao-zongsheng/p/9092520.html
atomic 可以保证对 atomic 变量的可见性。但想知道,一个线程先修改了 一个普通变量,再修改了 一个 atomic 变量,是否也可以保证 别的线程可见这个普通变量的修改?
大佬有話說 (6)
https://www.cnblogs.com/zhao-zongsheng/p/9092520.html
atomic 可以保证对 atomic 变量的可见性。但想知道,一个线程先修改了 一个普通变量,再修改了 一个 atomic 变量,是否也可以保证 别的线程可见这个普通变量的修改?
需要在线程 1 中使用 memory_order_release 来写原子变量,线程 2 中对于对应的原子变量使用 acquire,假设发现变更了,则即可对线程 1 中修改的普通变量可见
你不指定任何参数, 默认类型为 Sequentially Consistent . 无论是普通变量, 还是 atomic 类型都是同步的. 这无需担心.