Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.


Every asynchronous agent has an associated executor. An agent's executor determines how the agent's completion handlers are queued and ultimately run.

Example uses of executors include:

The asynchronous operations within an asynchronous agent use the agent's associated executor to:

Thus, an asynchronous agent's associated executor represents a policy of how, where, and when the agent should run, specified as a cross-cutting concern to the code that makes up the agent.

[5] In Boost.Asio, this kind of executor is called a strand.