Untitled
unknown
c_cpp
4 years ago
421 B
17
Indexable
void pop(T &item, int deadlineMs)
{
std::unique_lock<std::mutex> lock(m_Mutex);
while (m_Queue.empty())
{
if(m_Cond.wait_for(lock, std::chrono::milliseconds(deadlineMs)) == std::cv_status::timeout)
{
return;
}
}
item = m_Queue.front();
m_Queue.pop();
}
void push(const T &item)
{
std::unique_lock<std::mutex> lock(m_Mutex);
m_Queue.push(item);
lock.unlock();
m_Cond.notify_one();
}Editor is loading...