x86是否具有保持存储值的原子增量?

时间:2009-03-21 05:59:37

标签: assembly x86 atomic

我找到了lock inc addr,但是没有保留存储值的副本,甚至在同一个线程中的读取之后立即读取也会在竞争写入之后出现。

我找到的最佳解决方案是load / inc / cas循环。

2 个答案:

答案 0 :(得分:11)

lock xadd是你的朋友。

答案 1 :(得分:3)

请参阅atomic_impl.h了解更多x86 / x86_64原子基元和用法。