目录
引言
本篇是讲解modern C++ 内存序系列的第三篇,前两篇可参考C++11多线程 内存序(std::memory_order_relaxed) 和C++11多线程 内存序(std::memory_order_relaxed)。本篇主要讲解如下三部分:
1. 标准所定义的happens-before
2. acquire/release定义
3. acquire/release语义相关代码示例
希望通过这篇文章,能加深对memory order acquire/release的理解和使用。
happens-before定义
一个通用的happens-before定义如下: