Rivand Asked:2020-06-18 19:10:58 +0000 UTC2020-06-18 19:10:58 +0000 UTC 2020-06-18 19:10:58 +0000 UTC std::unique_lock 与 std::lock_guard 有何不同? 772 std::unique_lock 与 std::lock_guard 有何不同?在什么情况下使用一个类更好,在其他什么情况下? c++ 1 个回答 Voted Best Answer NTP 2020-06-18T19:24:14Z2020-06-18T19:24:14Z lock_guard和unique_lock- 几乎一样。不同的是你可以锁定和解锁std :: unique_lock。std :: lock_guard建造时只会被锁定一次,被摧毁时只会被解锁。 lock_guard:当一个对象被创建时,它会尝试获取互斥锁 (通过调用lock()),当对象被销毁时,它会自动 释放互斥锁(通过调用unlock())。 unique_lock:还支持延迟锁定、临时锁定、递归锁定和使用条件变量。 资源
lock_guard和unique_lock- 几乎一样。不同的是你可以锁定和解锁std :: unique_lock。std :: lock_guard建造时只会被锁定一次,被摧毁时只会被解锁。(通过调用
lock()),当对象被销毁时,它会自动释放互斥锁(通过调用
unlock())。资源