gpt4 book ai didi

c++ - std::lock_guard 还是 std::scoped_lock?

转载 作者:IT老高 更新时间:2023-10-28 11:57:01 41 4
gpt4 key购买 nike

C++17 引入了一个名为 std::scoped_lock 的新锁类。 .

从文档来看,它看起来类似于已经存在的 std::lock_guard 类。

有什么区别,我应该什么时候使用它?

最佳答案

scoped_locklock_guard 的严格高级版本,它一次锁定任意数量的互斥锁(使用与 std 相同的死锁避免算法: :lock)。在新代码中,您应该只使用 scoped_lock

lock_guard 仍然存在的唯一原因是为了兼容性。它不能被删除,因为它在当前代码中使用。此外,改变它的定义(从一元到可变)被证明是不可取的,因为这也是一个可观察的,因此是破坏性的变化(但出于某种技术原因)。

关于c++ - std::lock_guard 还是 std::scoped_lock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43019598/

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