gpt4 book ai didi

c++ - 你能把 std::recursive_mutex 和 std::condition_variable 结合起来吗?

转载 作者:IT老高 更新时间:2023-10-28 21:51:51 25 4
gpt4 key购买 nike

你能不能把 std::recursive_mutexstd::condition_variable 结合起来,意思是做这样的事情:

std::unique_lock<std::recursive_mutex> lock(some_recursive_mutex)
some_condition_var.wait(lock);

如果不允许,那为什么不呢?

我正在使用 VC++11。

最佳答案

如果您使用 std::condition_variable_any,则可以,它允许支持可锁定概念的任何类型的对象。

但是,在递归互斥锁的情况下,您必须确保给定线程只锁定了递归互斥锁一次,因为条件变量只会在 上使用 unlock 方法>unique_lock 在等待期间执行一次。

关于c++ - 你能把 std::recursive_mutex 和 std::condition_variable 结合起来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14323340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com