【问题标题】:Thread guard for a variable变量的线程保护
【发布时间】:2015-02-16 04:27:28
【问题描述】:

我想跨多个线程使用一个变量。为了保护对该变量的同时访问,我想为该变量添加一个互斥锁。但是互斥锁和临界区更适合一段代码。在变量的情况下,在使用变量的任何地方放置锁定和解锁代码看起来很难看。除了互斥锁和临界区还有其他更简单的方法吗?

【问题讨论】:

    标签: c++ multithreading mutex critical-section


    【解决方案1】:

    如果它是您想要保护的一个变量,则使用 std::atomic(如果您使用的是 c++11)或 boost::atomic 如果不是。

    如果关键部分中有多个共享变量,那么您需要注意缓存一致性问题。所以我会在关键部分周围使用互斥锁

    【讨论】:

      猜你喜欢
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-07
      • 2011-08-02
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多