memory model(内存模型):在编程语言、编译器或硬件体系结构中,用来规定读写内存的可见性、顺序与并发行为的一套规则。它解释了在多线程/多核环境下,为什么不同线程可能看到不同的执行顺序,以及哪些同步手段能保证结果可预测。(在某些语境下也可指“记忆模型/认知模型”,但计算机领域更常见。)
/ˈmɛməri ˈmɑːdəl/
A good memory model helps developers write correct concurrent code.
良好的内存模型能帮助开发者编写正确的并发代码。
Under the C++ memory model, data races lead to undefined behavior unless you use atomics or proper synchronization.
在 C++ 内存模型下,如果不使用原子操作或正确同步,数据竞争会导致未定义行为。
memory 源自拉丁语 memoria(记忆、回忆),经法语进入英语;model 源自拉丁语 modulus(尺度、模板)。组合成 memory model,在计算机科学中指“用一套抽象规则来描述内存读写如何被观察与排序”。