assembly - x86 是否具有原子增量来保留存储的值?

标签 assembly x86 atomic

我发现了lock inc addr,但这并没有保留存储值的副本,甚至在同一线程中紧随其后的读取也可能发生在竞争写入之后。

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

最佳答案

lock xadd 是你的 friend 。

关于assembly - x86 是否具有原子增量来保留存储的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/668830/

相关文章:

c++ - 程序集,全局变量

c - ARM Assembler - 循环卡住

assembly - x86 程序集 : How do Disassemblers know how to break up instructions?

c - GDB 打印值相对于寄存器

c++ - GCC 的 __builtin_expect 程序集转储似乎总是下降分支

c++ - 警告 #13212 : Reference to ebx in function requiring stack alignment

c - 我如何在汇编中编写所有这些

c++ - memory_order_relaxed 无法按 C++ 并发实际代码中的预期工作

c++ - atomic_compare_exchange 大于而不是等于?

go - 如何在 golang 中原子存储和加载接口(interface)?