25#ifndef SIM_TO_DUT_INTERFACE_SHAREDQUEUE_H
26#define SIM_TO_DUT_INTERFACE_SHAREDQUEUE_H
30#include <condition_variable>
57 std::unique_lock<std::mutex> lock(mutex);
60 conditionVariable.notify_one();
70 std::unique_lock<std::mutex> lock(mutex);
71 while (queue.empty() && !requestEnd) {
72 conditionVariable.wait(lock);
87 std::unique_lock<std::mutex> lock(mutex);
89 conditionVariable.notify_one();
102 while (!queue.empty()) {
109 std::condition_variable conditionVariable;
110 bool requestEnd =
false;
A thread save shared queue to communicate between multiple threads. The queue is a FIFO queue.
Definition: SharedQueue.h:40
SharedQueue(const SharedQueue< T > &)=delete
void Stop()
Definition: SharedQueue.h:86
bool pop(T &elem)
Definition: SharedQueue.h:69
virtual ~SharedQueue()
Definition: SharedQueue.h:95
void push(T elem)
Definition: SharedQueue.h:56
Definition: CANConnector.cpp:29