26 #include <condition_variable> 63 typedef std::function<void()>
task_t;
119 task_t fetch_task(
void);
124 bool should_stop(
void)
const;
130 std::vector<std::thread> m_workers;
135 std::size_t m_nb_threads;
140 std::atomic<bool> m_should_stop = ATOMIC_VAR_INIT(
false);
145 std::queue<task_t> m_tasks;
150 std::mutex m_tasks_mtx;
155 std::condition_variable m_tasks_condvar;
thread_pool(std::size_t nb_threads)
thread_pool & operator=(const thread_pool &)=delete
assignment operator
std::function< void()> task_t
Definition: thread_pool.hpp:63
Definition: io_service.hpp:48
void add_task(const task_t &task)
thread_pool & operator<<(const task_t &task)
void set_nb_threads(std::size_t nb_threads)
Definition: thread_pool.hpp:40
bool is_running(void) const