The C++ Memory Model

The C++ memory model defines how multiple threads interact with memory and shared data, enabling developers to reason about concurrent code in a platform independent way. The talk will explain multi-threaded executions and data races in C++, how concurrent code is affected by compiler and hardware optimizations, and how to avoid undefined behavior by using locks and atomic operations. Then we focus on different memory orders for atomic operations, their guarantees and performance implications.

Speaker: Valentin Ziegler

Slides: The C++ Memory Model

Video:


Go back