gpt4 book ai didi

c++ - 如何配置为非阻塞unique_lock?

转载 作者:行者123 更新时间:2023-11-28 07:04:50 25 4
gpt4 key购买 nike

我在 docs 中找到了unique_lock 可以尝试“以非阻塞方式获取锁”。

unique_lock 的线程是否在尝试以“非阻塞方式”获取锁时未被阻塞?如果是这样,它会优雅地失败吗?会解锁吗?

此外,由于 notify_one不抛出,是不是意味着如果不能通知,它也会优雅地失败?

如果 unique_lock 可以设置为不等待成功的 lock 而是优雅地失败并继续优雅地失败以进行 unlocknotify_oneunique_lock怎么设置成这样?

最佳答案

类似 boost::unique_lock lock(my_lockable, boost::try_to_lock); 应该可以解决问题。

lock.owns_lock() 如果已获取锁,将返回 true。如果它不是获得的,你不应该尝试释放它。

调用 notify_one 应该总是安全的,即使没有条件等待它。

关于c++ - 如何配置为非阻塞unique_lock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21917817/

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