diff --git a/main.cpp b/main.cpp index 767e844..8ab01a3 100644 --- a/main.cpp +++ b/main.cpp @@ -1,21 +1,37 @@ -#include #include +#include -int main() { +int main() +{ MyThreadPool::ThreadPool tp(4); auto task = [](int i) { - std::cout << "Test " << i << "\n"; + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + std::cout << "Testing future " << i << std::endl; return i / 2; }; + tp.enqueue( + 0, [](int i) { + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + std::cout << "Test " << i << std::endl; + return i / 2; + }, + 45); + auto fut = tp.enqueue(0, task, 10); + std::cout << "Returned: " << fut.get() << std::endl; + tp.waitForTasks(); - // std::cout << "All: " << fut.get() << std::endl; - std::cout << "Done." << std::endl; + tp.enqueue(0, []() { + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + std::cout << "Finished with destructor." << std::endl; + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + }); + return 0; }