Thread Pool

namespace HTTPServer
class ThreadPool

Public Functions

explicit ThreadPool(size_t thread_count)
~ThreadPool()
ThreadPool(const ThreadPool&) = delete
ThreadPool &operator=(const ThreadPool&) = delete
ThreadPool(ThreadPool&&) = delete
ThreadPool &operator=(ThreadPool&&) = delete
void stop()
int enqueue(std::function<void()> task)

Private Functions

void worker_loop()

Private Members

std::vector<std::thread> d_workers
std::queue<std::function<void()>> d_task_queue
std::mutex d_mtx
std::condition_variable d_condition_variable
std::atomic<bool> d_running = {true}