并发写入相同的内存地址

Mar*_*ark 6 memory parallel-processing

如果两个线程同时尝试写入同一个地址,那么并发写入后的值是否保证是线程尝试写入的值之一?或者是否可以获得这些位的组合?

另外,当位处于不稳定状态时,另一个线程是否可以读取存储器地址?

我猜这个问题可归结为如果对单个内存地址的读取或写入在硬件级别是原子的.

Bri*_*ian 5

我认为这完全取决于您的特定编程语言或系统的"内存模型".


sud*_*03r 0

可以肯定的是,对于大小等于 CPU 寄存器的数据类型来说,永远不会有处于不稳定状态的位,它将是两个值之一