Asynchronous C++
Dietmar Kühl
16:00-17:30, Tuesday, 1st April 2025
With the components in
std::execution
(also known as Sender/Receiver) C++26 introduces a vocabulary for asynchronous operations. At the same time, it isn't clear why asynchronous operations are important and how that is different from other technologies, like threads. Also, the specification for std::execution
is rather complex and appears to be expert-only.
The objective of this talk is to explain the benefits of using asynchronous approaches for a wide range of applications and, as well as std::execution
enables one to use the approach fairly easily. The focus will be on the usage and composition of asynchronous components rather than extending the existing facility with new functionality.
While std::execution
provide the vocabulary for creation and composition of asynchronous operations, it doesn't actually provide any asynchronous operations itself. To make its use more concrete for attendees, this talk will use simple implementations to demonstrate how it interacts with I/O, a database, etc., while only outlining how these use cases are implemented at a very high level.
Dietmar Kühl
Dietmar Kühl is a senior software developer at Bloomberg, where he works on the data distribution environment used both internally and by enterprise installations at clients. Before joining Bloomberg, he did consulting for software projects mainly in the finance sector. He is a regular attendee of the ANSI/ISO C++ standards committee (WG21) and presents at conferences. He used to be a moderator of the newsgroup comp.lang.c++.moderated and frequently answers questions on Stack Overflow.