boost::lock_guard 与 boost::mutex::scoped_lock

标签 boost c++11 future-proof

boost::lock_guardboost::mutex::scoped_lock 哪个更好?

我正在使用 Boost.Thread,希望在 C++11 线程可用时能够迁移到它。

scoped_lock 是下一个 C++ 标准的一部分吗?

选择其中一种比另一种有什么优势吗?

<小时/>

注意:我知道 scoped_lock 只是 lock_guardtypedef

<小时/>

编辑:我错了,scoped_lock不是lock_guardtypedef。它是 unique_locktypedef

最佳答案

阿米特是对的:boost::mutex::scoped_locktypedef对于 boost::unique_lock<boost::mutex> ,不是lock_guardscoped_lock在 C++0x 中不可用。

除非您需要 unique_lock 的灵 active ,我会使用 lock_guard 。它更简单,更清楚地表达了将锁限制在定义的范围内的意图。

关于boost::lock_guard 与 boost::mutex::scoped_lock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2276805/

相关文章:

c++ - spirit boost : copy the result in a vector of strings

c++ - 在 C++ 中使用 RAII 进行回调注册

database - 应对数据库身份/自动编号最大化的策略

future-proof - 有哪些选项可以在未来验证您的应用程序?

c++ - 使用 boost::async_connect 问题

c++ - Boost、Lib C++ 和 Xcode

c++ - 用于确定类是否输出可流式意外输出的元程序

c++ - 更快的扭曲引擎? mt19937_16?

python - 在 Python 中继承类 "object"的目的是什么?

c++ - 如何使用 C++11 风格的强类型定义创建新的原始类型?