这可能吗?我想使用 timed_mutex 而不是带有 condition_variable 的常规互斥锁,但它不会编译并查看源代码
void
wait(unique_lock<mutex>& __lock, _Predicate __p)
{
while (!__p())
wait(__lock);
}
(由 libc++ 作者提供的缩进,真的吗?)
所以看起来它实际上仅限于直接互斥体,而不是定时互斥体。但是为什么??
最佳答案
是的,std::conditional_variable
限于std::unique_lock<std::mutex>
.但是,您可以使用更通用的 std::condition_variable_any
任何有 compatible interface 的东西.
关于c++ - 将 std::condition_variable 与 std::timed_mutex 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46980719/