C++ Concurrency TS 2 Use Cases and Future Direction
summary
C++ Concurrency TS 2 already standardizes hazard pointers and RCU with minimal subsets slated for C++26, and additional facilities like snapshot_ptr, asymmetric fences, concurrent counters and queues are proposed. Independent reference implementations and heavy production use in Folly and the Linux kernel validate the designs and show concrete performance wins when replacing slow shared_mutex/shared_ptr patterns. The talk demonstrates how phased‑state RCU builds a fast‑readers reader‑writer lock and explains exact reclamation tradeoffs and synchronization costs.
AI-written summary · about
chapters (18)
- 0:00Start
- 7:43Synchronization via Procrastination
- 13:34Traversal Speed
- 14:10Reference Counting
- 14:41Hazard Pointer
- 16:13Non-Blocking Traversal
- 18:15Asymmetric Fences
- 21:53How Does Hazard Pointer Work
- 23:56Ts2 Interface for Header Pointer
- 26:04Hazard Pointer Object
- 26:31Move Operator and Move Constructor
- 32:05Hand over Hand Traversal
- 36:36Iteration
- 39:35Iterator
- 40:23Operational Iterator
- 43:32Introduction To Rsu Semantics
- 49:06Maintenance Operation
- 53:12Synchronous Reclamation
related talks
42mHistory of Concurrency
55mBehavioral Modeling in HW/SW Co-design Using C++ Coroutines
01h 20mRevisiting C++ Observers: Spooky Action at a Distance
53mAsync sequences and algorithms to compose them
01h 00mC++ Mythbusters
38mAccidentally Concurrent
54mawait 2.0: Stackless Resumable Functions
01h 00mMissing (and future?) C++ range concepts
