Skip to content

ExecutorIn-process concurrency infrastructure for C++20 applications

One facade for ordinary async tasks, low-latency queues, periodic realtime threads, blocking I/O, and optional GPU work. Start from submit_auto().

At a glance

cpp
auto& executor = executor::Executor::instance();
auto answer = executor.submit_auto([] { return 42; });
std::cout << answer.get() << '\n';
executor.shutdown();

get() both retrieves the result and rethrows an exception from the task. See your first task for complete code and expected output.

Scope and boundaries

Executor is not a coroutine runtime, a distributed messaging system, or a hard realtime OS. It cannot safely force arbitrary running C++ functions to terminate, and submit_periodic() is soft periodic work on the ordinary pool, not a dedicated realtime thread. See what is Executor? for the complete boundary statement, including the synchronization guarantees introduced in 0.4.0.

Continue from here

Release information

ItemCurrent support
PlatformLinux, Windows; Android CPU-only via NDK
LanguageC++20
Build systemCMake 3.16+
Versionv0.5.0
LicenseMIT
This guide corresponds to `v0.5.0`; later `master` capabilities become stable promises only after their release tag.