标签: c++ c x86 atomicity
在使用c / c ++编程的64位机器中假设读取/写入double值是原子的是否安全?
我有两个共享内存的进程。进程1在c中,它是double值的编写者,c ++中的进程2是该值的读者。
答案 0 :(得分:3)
不,如果您希望原子操作使用std::atomic<double>
std::atomic<double>
答案 1 :(得分:0)
C11引入了原子类型:C11 Atomics
C11
运气好的话,C ++也采用了这些便携性。如果没有,您可能必须依赖编译器扩展:GCC Atomic Builtins
或者只是使用互斥锁锁定。