[filtered] Asynchronous C++ Programming
summary
Covers concrete primitives and tradeoffs: uses PPL (Parallel Patterns Library) and std::packaged_task / std::future to show how promises, futures, continuations and task unwrapping actually chain and propagate exceptions; demonstrates cancellation via token sources and callbacks; compares coroutine-based code to manual continuation-passing and shows generators and coroutine handles; claims a proposed lightweight task implementation cuts overhead and can be roughly 3× faster than heavy std-style tasks in microbenchmarks.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:12What's ahead
- 1:07Metaphor
- 3:58std::packaged_task
- 5:51Idiom: asynchronous value update
- 7:52Parallel Patterns Library
- 10:28PPL concurrency: :task 101
- 11:36Task unwrapping
- 14:15Continuations
- 15:46Exception handling
- 19:27Cancellation callback
- 23:13Idiom: do while
- 27:36Idiom: continuation chaining
- 31:03Why do I need generators?
- 32:39What are coroutines?
- 34:12What happens "behind the curtains"
- 42:20Benchmark: concurrency: :task
- 42:46Benchmark: lightweight Task
- 49:09Asynchronous C++ programming
related talks
05mFast Parallel Programming using Modern C++
01h 02mC++20’s Coroutines for Beginners
01h 02mThere is a new future
58mAn Introduction to C++ Coroutines
01h 00mContinuable asynchronous programming with allocation aware futures
45mAsynchrony and Coroutines
01h 07mAn Introduction to Multithreading in C++20
01h 06mAsynchronous Computation in C++
