17 #ifndef THREADPOOL_HPP_
18 #define THREADPOOL_HPP_
50 void stop(
bool force);
54 bool isPendingShutdown_ =
false;
56 std::list<std::thread> workers_;
57 std::size_t workerCount_ = 0;
59 std::list<ThreadPoolTask> tasks_;
64 std::unique_ptr<KaaTimer<void()>> shutdownTimer_;
static const std::size_t DEFAULT_WORKER_NUMBER
#define KAA_CONDITION_VARIABLE
virtual void add(const ThreadPoolTask &task)
#define KAA_MUTEX_DECLARE(name)
virtual void awaitTermination(std::size_t seconds)
virtual void shutdownNow()
ThreadPool(std::size_t workerCount=DEFAULT_WORKER_NUMBER)
std::function< void()> ThreadPoolTask