Exathread is a powerful header-only C++ thread pool management library for C++20.
- Lock-free task queue
- Future aggregation
- Task continuations (like JS
Promise.then) - Coroutine-based task suspension for blocking tasks
- Automatic batch job parallelization
- No external dependencies
- Simple and clean API
CMake and Meson build definitions are provided to make it easier to use the library, however you can also just copy exathread.hpp to wherever it's needed.
Exathread comes with some tests which can be run either with CMake or Meson. Configure a build directory as usual for the build system, cd into the build directory, then run meson test or ctest (for CMake) to run the tests.
Documentation is built and deployed automatically to https://robotleopard86.github.io/Exathread.
If you want to build it yourself, everything is located in the docs folder. See the docs build instructions page for more information.
Exathread is licensed under the Apache License 2.0, which can be found in the root directory. All third-party licenses are present in the licenses directory.
