whn*_*whn 8 c++ multithreading mutex stdthread stdmutex
我见过大多数使用std::mutex互斥体是全局的例子.我想知道为什么这样做有什么具体的原因?我有自己的程序,我不这样做,只是将互斥量作为一个std::thread std::ref.拥有全局变量不是不好的做法,std::mutexes如果没有语言限制理由这样做,那么C++中全局背后的理性是什么?
除非不是全局变量,否则使用全局变量是不好的做法.例如,std::cin是全球性的.
无论您如何使用互斥体,互斥体在某种意义上都是全局的.它们在不同的代码之间共享.因此,您可以将它们设置为全局变量,或者您可以通过不使用它们的函数将它们传递给调用链,直到最终到达某个人.这被称为"流浪汉数据",它也是"不良做法".选择你的毒药.
| 归档时间: |
|
| 查看次数: |
2647 次 |
| 最近记录: |