lokinet/llarp/threadpool.hpp
Jeff Becker 6da13c876c
format
2018-02-20 19:11:26 -05:00

32 lines
590 B
C++

#ifndef LLARP_THREADPOOL_HPP
#define LLARP_THREADPOOL_HPP
#include <llarp/threadpool.h>
#include <condition_variable>
#include <deque>
#include <mutex>
#include <thread>
#include <vector>
namespace llarp {
namespace thread {
typedef std::mutex mtx_t;
typedef std::unique_lock<mtx_t> lock_t;
struct Pool {
Pool(size_t sz);
void QueueJob(const llarp_thread_job& job);
void Join();
std::vector<std::thread> threads;
std::deque<llarp_thread_job> jobs;
mtx_t queue_mutex;
std::condition_variable condition;
bool stop;
};
} // namespace thread
} // namespace llarp
#endif