int main() { TaskQueue<FibonacciTask> fibonacciTasks; for (int i = 42; i >= 39; --i) { fibonacciTasks.add([i](size_t threadId) { runFibonacci(i, threadId); }); } ThreadPool<FibonacciTask> threadPool(4, fibonacciTasks); for (int j = 0; j < 5; ++j) { for (int i = 35; i > 20; --i) { fibonacciTasks.add([i](size_t threadId) { runFibonacci(i, threadId); }); } std::this_thread::sleep_for(std::chrono::seconds(1)); } return 0; }