Ich verwende eine std::condition_variable
kombiniert mit einer std::unique_lock
wie folgt.Ist es möglich, std :: condition_variable mit std :: lock_guard zu verwenden?
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();
Es funktioniert gut. Wie ich es verstehe, std::condition_variable
akzeptiert eine std::unique_lock
für sie zu warten. Aber ich versuche es mit std::lock_guard
zu kombinieren, aber nicht in der Lage dazu.
Meine Frage ist:Ist es möglich, std::unique_lock
mit einem std::lock_guard
statt zu ersetzen? Das kann mich entlasten von der manuellen Entriegelung des Schlosses jedes Mal, wenn ich es benutze.
Dank für eine solche schnelle Klärung. Beide Antworten sind akzeptabel. Wählen Sie einfach eine der beiden –