gpt4 book ai didi

c++ - 如何*先*获得独占锁,然后在不释放锁的情况下降级为共享锁

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:08 26 4
gpt4 key购买 nike

Stack Overflow 有几个 examples其中函数首先获得可升级锁,然后通过升级获得独占访问。我的理解是,如果不小心使用,这可能会导致死锁,因为两个线程可能都获得了可升级/共享锁,然后都尝试升级,此时都无法继续,因为另一个线程有共享锁.

我想要的是先获取排他锁,然后降级为共享锁,不完全释放锁。我找不到这样的例子。有什么想法吗?

最佳答案

Boost 通过 UpgradeLockable 提供此功能概念。您要找的方法是unlock_and_lock_shared() .

upgrade_mutex 提供了这个概念的实现。类。

关于c++ - 如何*先*获得独占锁,然后在不释放锁的情况下降级为共享锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19772126/

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