Finally Executors for C++

By Detlef Vollmann

Executors (or schedulers) will be a base building block in C++ for asynchronous and parallel work.

At the ACCU conference 2014 Detlef presented the then current proposal for addition of executors to C++, with the caveat that it wasn’t officially accepted at the time. As it turned out, the game changed significantly.

For quite some time the C++ committee was blocked on the discussion of three more or less competing proposals for executors.

But starting in summer 2016, there was put together a group that tried in regular conference calls to bring forward a common proposal. These efforts eventually produced a common proposal for the Issaquah meeting in November 2016.

This common proposal got general agreement though quite some details changed since then. At the Albuquerque meeting in November 2017 the proposal became an inofficial draft TS.

This talk will present the new proposal and look at the consequences for concurrent and parallel programming. The interactions with the different coroutine proposals will also be investigated including. A number of completely different concrete executor examples will be presented to show what a wide range is covered by this basic parallel and concurrent building block.