Relaxed memory ordering and data dependencies.
Load-acquire/store-release ordering and memory barriers.
Release semantics and memory barriers in C++.
Acquire semantics and memory barriers.
Memory visibility and synchronization mechanisms in C++.