这个分类用于理解程序运行时依赖的底层机制,把内存映射、分配器、线程可见性与内存顺序连接起来。

先建立总模型

这一模块连接两个层面:单线程里地址怎样映射、内存怎样分配;多线程里写入怎样通过同步关系被另一个线程合法观察。不要用“缓存刷新了”同时解释虚拟内存和并发可见性。

两条不同的数据路线

内存:虚拟地址 -> 页表 -> 物理页 -> 分配器中的内存块
并发:data=42 -> release 写 ready -> acquire 读 ready -> 合法读取 data

推荐顺序

  1. 先学习虚拟内存、页、堆栈与 malloc。
  2. 再学习原子操作、happens-before 与内存顺序。

已收录