在使用 std::condition_variable时,我对 std::unique_lock的作用有点困惑。就我对 文件的理解而言,std::unique_lock基本上是一个臃肿的锁保护,可以在两个锁之间交换状态。
到目前为止,我已经为此目的使用了 pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)(我猜这就是 STL 在 posx 上使用的方法)。它需要互斥锁,而不是锁。
有什么区别吗?std::condition_variable处理 std::unique_lock是一种优化吗?如果是这样的话,它究竟有多快?