我的线程不需要被锁定。std::unique_lock
锁定施工线程。我只是将cond_var.wait()
其用作避免忙于等待的一种方式。我基本上通过将 unique_lock 放在一个很小的范围内来规避自动锁定,因此在它离开这个微小的范围后破坏了唯一的锁。此外,如果相关的话,只有一个消费者线程。
{
std::unique_lock<std::mutex> dispatch_ul(dispatch_mtx);
pq_cond.wait(dispatch_ul);
}
是否有更好的选择来避免 unique_lock 中不必要的自动锁定功能?我正在寻找一个无互斥锁选项来简单地向线程发出信号,我知道std::condition_variable_any但这需要一个互斥锁,这在我的情况下又是不必要的。