【发布时间】:2014-05-31 17:30:31
【问题描述】:
确切地说,我只需要将一个 double 增加另一个 double 并希望它是线程安全的。我不想为此使用互斥锁,因为执行速度会大大降低。
【问题讨论】:
-
相关:Atomic double floating point or SSE/AVX vector load/store on x86_64。基本上与此相同的答案,但具有 x86 asm 详细信息。 (不幸的是,有些编译器在将数据从 XMM 转换为
compare_exchange的整数甚至使用atomic<double>加载/存储时效率相当低。)
标签: c++ multithreading stdatomic