std::unique_lock 提供了对互斥锁更高级别的控制和灵活性,使得多线程编程更加安全和容易。在多数情况下,推荐使用 std::unique_lock 而不是直接操作互斥锁,因为它能够自动管理锁的生命周期,减少了出错的机会。 参考文献 std::unique_lock - cplusplus.comstd::condition_variable - cplusplus.com...
std::unique_lock也会在析构的时候自动解锁,所以说,是std::lock_guard的功能超集。 看看std::unique_lock的构造函数,支持三种加锁模式: unique_lock( mutex_type& m, std::defer_lock_t t );//延迟加锁unique_lock( mutex_type& m, std::try_to_lock_t t );//尝试加锁unique_lock( mutex_type& ...