Explore the intricacies of C++ 11 Memory Model and atomic operations in this comprehensive conference talk from ACCU 2017. Delve into the world of multithreading in C++ and understand the debate surrounding the proper application of the C++ 11 Memory Model. Learn about the different options of "memory order" when using std::atomic, and gain insights into what memory order is and the significance of each option. Examine the C++ memory model, sequencing of expressions, and synchronization between threads. Discover how compiler optimizations and generated assembly affect multithreaded programs, and investigate out-of-order execution in CPUs and cache communication between cores. By the end of this 88-minute talk, grasp the full functionality of atomic variables beyond simple value storage, equipping yourself with essential knowledge for efficient multithreaded programming in C++.
Overview
Syllabus
Atomic’s memory orders, what for? - Frank Birbacher [ACCU 2017]
Taught by
ACCU Conference