Concurrency in C++20 and Beyond
summary
C++20 adds cooperative cancellation via stop_token/stop_source with condition_variable_any and stop_callback integration, plus a new jthread auto-request-stop that joins on destruction; it also adds latches, reusable barriers with completion functions, and counting/binary semaphores. Atomics gain wait/notify, atomic<shared_ptr>/atomic<weak_ptr> and atomic_ref for non-trivial layouts. Coroutines land without a standard library runtime, while continuation futures, when_any/when_all, executors, concurrent queues/hash maps, and safe reclamation (RCU and hazard pointers) remain concrete proposals under active work.
AI-written summary · about
chapters (22)
- 0:00Start
- 0:53Concurrency Features
- 2:09Cooperative Cancellation
- 3:45Stop Source
- 8:14Stop Callback
- 12:44New Synchronization Facilities
- 15:29Testing Multi-Threaded Code
- 16:46Barriers
- 21:09Semaphores
- 23:07The Little Book of Semaphores
- 26:05Atomic Smart Pointers
- 31:18Smart Pointers
- 40:20Benefit from Concurrency
- 41:39Future Standards
- 49:29Thread Pool
- 49:45Basic Requirements
- 51:45Proposals for Concurrent Data Structures
- 52:36Concurrent Hash Maps
- 53:43Safe Memory Reclamation
- 54:16Safe Memory Reclamation Schemes
- 1:00:36Proposals for a Concurrent Priority Queue
- 1:02:19Performance Penalty
related talks
01h 24mConcurrency in C++20 and Beyond
01h 00mConcurrency in C++20: A Deep Dive
01h 00mConcurrency Improvements in C++20: A Deep Dive
01h 32mConcurrency, Parallelism and Coroutines
01h 05m“The Continuing Future of C++ Concurrency"
01h 05m“Concurrency, Parallelism and Coroutines”
47mConcurrent Programming in C++
59mAn Introduction to Multithreading in C++20
