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::lock_guard
와 std::unique_lock
을 대체 할 수 있습니까? 이렇게하면 잠금을 해제 할 때마다 수동으로 잠금을 해제 할 수 있습니다.
감사합니다. 두 대답 모두 수용 가능합니다. 방금 두 가지 중 하나를 선택했습니다 –