Skip to content

RobotLeopard86/Exathread

Repository files navigation

Exathread

Go beyond C++ threading

About

Exathread is a powerful header-only C++ thread pool management library for C++20.

Features

  • 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

Usage

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.

Testing

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

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.

Licensing

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.

About

Beyond C++ threading

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages