Easy Senders/Receivers
summary
Claims that P2300 senders/receivers in C++26 are easier to use and teach, showing concrete tools: sync_wait, counting_scope, let_value, and when_all used with schedulers, bulk and split. Three working examples are implemented: a Mandelbrot parallelized with bulk on a parallel scheduler, a concurrent quicksort that spawns tasks and waits on a counting scope, and an image pipeline that routes IO vs CPU work and interoperates with coroutines. All examples run and demonstrate lazy composition, safe concurrency and measurable speedups.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:30Senders/receivers not complex
- 3:56Sync vs async execution
- 12:02Senders basics
- 19:51Concurrency with senders
- 27:03Sender algorithms C++26
- 34:12let_value and monadic bind
- 43:27Mandelbrot fractal example
- 45:53Concurrent sorting example
- 51:39Image processing pipeline
- 1:00:52Q&A
- 1:09:35Receivers and writing senders
- 1:19:18Conclusions and key takeaways
related talks
01h 32mKeynote: Employing Senders & Receivers to Tame Concurrency in C++ Embedded Systems
01h 32mEmbedded Asynchronous Abstraction C++ - Implementing Senders & Receivers Without an OS
01h 21mStructured Concurrency
01h 08mBetter Code: Concurrency
01h 00mC++ Standard Parallelism
50mExtending std::execution Further - Higher-Order Senders and the Shape of Asynchronous Programs
59mAn Introduction to Multithreading in C++20
01h 08mThinking Outside the Synchronisation Quadrant
