(转)Memory barrier

程序在运行时,内存实际的访问顺序和程序代码编写的访问顺序不一定一致,基于这个前提,Memory barrier 就有存在的必要了。

Memory barrier 能够保证其之前的内存访问操作先于其后的完成。Memory barrier的主要应用场景如下:

  1. 实现同步原语(synchronization primitives)
  2. 实现无锁数据结构(lock-free data structures)
  3. 驱动程序