Load-acquire/store-release semantics and memory barriers in multi-threading.
Relaxed memory ordering and synchronization primitives in C++.
Memory synchronization and coherence protocols in concurrent programming.
Weak memory models and memory barriers in C++ standards.
Memory fences and speculative execution in multi-threaded programs.