Evolution: Asynchronous programming in C++

Speaker: Stefaan De Roeck

Audience level: [ Beginner | Intermediate ]

This is a tale of many approaches to asynchronous programming in C++, spanning the past 20 years of my C++ experience.

It starts with code much inspired by C-code to do I/O, touches the reactor pattern and some C++ libraries that implement it, briefly brings multi-threading into the mix, to later introduce Networking TS (ASIO / C++23?) and also coroutines (C++20, or Boost). The aim is an overview and insights to help find the “best” way to formulate asynchronous algorithms in C++.