mat*_*tiu 1 c++ multithreading thread-safety c++11
我有一个写入原子变量的线程.(使用memory_order_release).线程A.
还有许多其他线程可以从该变量中读取.(使用memory_order_acquire).线程B.
在线程A中,使用memory_order_relaxed读取该变量是否安全?
pre*_*ing 9
是的,它在某种意义上是安全的,它的行为与由单个线程操纵的非原子变量相同.
例如,如果写释放之前测序按照程序顺序轻松读取,并且没有其他写入该变量,然后轻松读取将看到由写入释放写入值(N3337 §1.10.12-13 ).
Tsy*_*rev 5
是的,memory_order_relaxed在线程A中读取变量时使用它就足够了.由于程序顺序的原因,此读取将始终处于发生之前与写入的关系中,发生在同一线程中.
memory_order_relaxed
归档时间:
10 年,4 月 前
查看次数:
103 次
最近记录: