内存排序 / 内存一致性中的“顺序规则”:指在多线程或多核系统中,读/写内存操作在不同处理器或编译器优化下可见的先后顺序。它决定了一个线程写入的数据,何时、以什么顺序被另一个线程观察到;常与重排序(reordering)、内存屏障(memory barrier/fence)等概念一起出现。(在不同语境下也常指“内存模型的排序保证”。)
/ˈmɛməri ˈɔːrdərɪŋ/
Memory-ordering matters when two threads share data.
当两个线程共享数据时,内存排序很重要。
Without proper synchronization, weak memory-ordering can let a reader observe writes in an unexpected order, causing subtle bugs.
如果没有正确的同步,较弱的内存排序可能让读线程以意想不到的顺序观察到写入,从而引发隐蔽的错误。
由 memory(内存、记忆)+ ordering(排序、顺序安排)组合而来。该术语在并发编程与计算机体系结构中用来描述:硬件与编译器对内存访问顺序所提供的(或不提供的)保证。