6#include <condition_variable>
15 std::condition_variable
_cv;
21 std::lock_guard<std::mutex> lock(
_mutex);
22 _queue.push(std::move(value));
28 std::unique_lock<std::mutex> lock(
_mutex);
29 _cv.wait(lock, [&] {
return !
_queue.empty(); });
30 T val = std::move(
_queue.front());
Definition ThreadSafeQueue.hh:11
void push(T value)
Definition ThreadSafeQueue.hh:18
T wait_and_pop()
Definition ThreadSafeQueue.hh:27
std::mutex _mutex
Definition ThreadSafeQueue.hh:14
std::queue< T > _queue
Definition ThreadSafeQueue.hh:13
std::condition_variable _cv
Definition ThreadSafeQueue.hh:15
Definition ThreadPool.cc:11