变量的线程保护

时间:2015-02-16 04:27:28

标签: c++ multithreading mutex critical-section

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

1 个答案:

答案 0 :(得分:1)

如果它是你要保护的一个变量,那么使用std :: atomic(如果你使用的是c ++ 11)或者使用boost :: atomic。

如果它是关键部分中的多个共享变量,那么您需要注意缓存一致性问题。所以我会在关键部分

的情况下使用互斥锁