#ifndef thr_pool_h
#define thr_pool_h
-#include <vector>
-#include <thread>
-
+#include "types.h"
#include "fifo.h"
-typedef std::function<void()> job_t;
+typedef function<void()> job_t;
class ThrPool {
- public:
- ThrPool(int sz, bool blocking=true);
- ~ThrPool();
+ public:
+ ThrPool(size_t sz, bool blocking=true);
+ ~ThrPool();
- bool addJob(const job_t &j);
+ bool addJob(const job_t &j);
- private:
- int nthreads_;
- bool blockadd_;
+ private:
+ size_t nthreads_;
+ bool blockadd_;
- fifo<job_t> jobq_;
- std::vector<std::thread> th_;
+ fifo<job_t> jobq_;
+ vector<thread> th_;
void do_worker();
};