A simple C++11 Thread Pool implementation.
Basic usage:
// create thread pool with 4 worker threads
ThreadPool pool(4);
// enqueue and store future
auto result = pool.enqueue([](int answer) { return answer; }, 42);
// get result from future
std::cout << result.get() << std::endl;Build the example:
cmake -B build
cmake --build buildRun with custom thread and task counts:
./build/example --threads 8 --tasks 8