gpt4 book ai didi

multithreading - std::mutex锁定功能和std::lock_guard 之间的区别?

转载 作者:行者123 更新时间:2023-12-04 04:32:53 28 4
gpt4 key购买 nike

基本上,标题是不言自明的。
我通过以下方式使用它:

  • 该代码在Objective-C++中。
  • Objective-C类对不同目的的函数进行并发调用。
  • 我在整个类中使用std::mutexlockunlock std::vector<T>编辑选项,因为C++ std容器不是线程安全的。
  • 最佳答案

    使用lock_guard超出范围时,互斥量会自动再次解锁。这样就不可能忘记在返回或引发异常时将其解锁。您应该总是更喜欢使用lock_guardunique_lock而不是mutex::lock()。参见http://kayari.org/cxx/antipatterns.html#locking-mutex
    lock_guardRAIISBRM类型的示例。

    关于multithreading - std::mutex锁定功能和std::lock_guard <std::mutex>之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38340378/

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