我一直在读这篇关于原子操作的文章,它提到了32位整数赋值在x86上是原子的,只要该变量是自然对齐的.
为什么自然对齐确保原子性?
c c++ concurrency x86 atomic
假设2个内核试图在相同的时刻(正负eta)将不同的值写入相同的RAM地址(1个字节),并且不使用任何互锁指令或内存屏障.在这种情况下会发生什么以及将什么值写入主RAM?第一个获胜?最后一个获胜?不确定的行为?
x86 multithreading cpu-architecture low-level lock-free
x86 ×2
atomic ×1
c ×1
c++ ×1
concurrency ×1
cpu-architecture ×1
lock-free ×1
low-level ×1
multithreading ×1