C++ Execution Model In Five Minutes
summary
Defines expressions as value computations plus initiation of side effects and separates value computations from side-effects; side effects can be visible later. Introduces sequence-before relation (asymmetric, transitive) and indeterminately sequenced function arguments (arguments may interleave or be ordered but unspecified). Specifies right-to-left sequencing for some operator operands, and names three synchronization mechanisms that establish visibility: atomic acquire/release, mutex lock/unlock, and thread create/join. Notes memory_order_consume makes this far more complex.
AI-written summary · about
chapters (4)
related talks
42mThe C++ Execution Model
01h 01m“C++11/14/17 atomics and memory model..."
22mWhat we learned from C++ atomics and memory model standardization
01h 19mThis is C++: Uncompromised Performance, Undefined Behavior, & Move Semantics
01h 11mAsynchronous C++
01h 11mThree Cool Things in C++26: Safety, Reflection & std::execution
05mWhat I Learned About C++ Recently
01h 28mAtomic’s memory orders, what for?
