“Concurrency, Parallelism and Coroutines”
summary
C++17 adds parallel overloads for ~100 algorithms via execution policies (seq, par, par_unseq) so algorithms like for_each, transform_reduce and sort can run across threads or vector units; reduce replaces order-dependent accumulate and parallel exceptions cause termination rather than aggregating many throws. The Coroutines TS introduces stackless coroutines with co_await/co_yield/co_return and customizable promise/awaitable types to suspend and resume without OS threads. The Concurrency TS adds futures with continuations (.then) and when_any/when_all, shared_futures, latches/barriers and atomic smart pointers; executor proposal P433R2 aims to tie execution policies, continuations and coroutines together but no single implementation ships the whole stack yet.
AI-written summary · about
chapters (8)
- 0:00Introduction and overview
- 0:46C++17 parallelism support
- 12:28Coroutines fundamentals
- 23:11Concurrency TS futures
- 37:34Futures with coroutines
- 44:08Executors proposal overview
- 54:05Implementation landscape
- 1:04:31Q&A session
related talks
01h 32mConcurrency, Parallelism and Coroutines
48mStructured Concurrency: Writing Safer Concurrent Code with Coroutines...
57m“The C++17 Parallel Algorithms Library and Beyond"
01h 04mConcurrency in C++20 and Beyond
58m“Introduction to C++ Coroutines"
01h 30mC++ Coroutines and Structured Concurrency in Practice
01h 24mConcurrency in C++20 and Beyond
01h 32mCoroutines and C++ DSLs for Human Scale Concurrency
