22 for (
size_t i = 0; i < numThreads; ++i) {
26 std::function<void()> task;
29 std::unique_lock<std::mutex> lock(queueMutex);
30 condition.wait(lock, [
this] {
return stop || !tasks.empty(); });
31 if (stop && tasks.empty())
33 task = std::move(tasks.front());