#pragma once #include #include "Thread.hpp" #include "Mutex.hpp" #include #include namespace Tesses::Framework::Threading { class ThreadPool { std::vector threads; std::queue> callbacks; Mutex mtx; volatile bool isRunning; public: static size_t GetNumberOfCores(); ThreadPool(size_t threads); size_t ThreadCount(); bool Empty(); void Schedule(std::function cb); ~ThreadPool(); }; }