我正在使用std::condition_variable
與此類std::unique_lock
相結合。是否可以使用std :: condition_variable和std :: lock_guard?
std::mutex a_mutex;
std::condition_variable a_condition_variable;
std::unique_lock<std::mutex> a_lock(a_mutex);
a_condition_variable.wait(a_lock, [this] {return something;});
//Do something
a_lock.unlock();
它工作正常。據我所知,std::condition_variable
接受std::unique_lock
等待。但是,我試圖將它與std::lock_guard
結合起來,但不能。
我的問題是:是否有可能取代std::unique_lock
與std::lock_guard
呢?這可以減輕我每次使用它時手動解鎖鎖。
感謝這麼快作出澄清。這兩個答案都可以接受。只需選擇其中一個 –