指针写入不是原子的最常见配置是什么?

Joh*_*ski 6 c c++ multithreading atomic

我对多线程很感兴趣.该领域有很多陷阱,例如,无法保证指针写入是原子的.我明白这一点,但想知道实际情况下最流行的当前配置是什么?例如,在我的Macbook Pro/gcc上,指针写入肯定似乎是原子的.

Dan*_*ger 3

对于指针宽度大于 CPU 架构宽度的 CPU 架构来说,这主要是一个问题。例如,在8 位架构的ATmega CPU 上,地址空间是 16 位。如果没有任何特定指令来加载和存储 16 位地址,则至少需要两条指令来加载/存储指针值。