boost::lock\u guard vs boost::mutex::scoped\u lock

boost::lock\u guard vs boost::mutex::scoped\u lock,boost,c++11,future-proof,Boost,C++11,Future Proof,哪个是首选的boost::lock\u-guard还是boost::mutex::scoped\u-lock 我正在使用Boost.Thread,希望在C++11线程可用时可以使用它 是代码> SistEdEXORD 下一个C++标准的一部分?< /P> 选择其中一个有什么好处吗 注意:我知道scoped_lock只是lock_guard的typedef 编辑:我错了scoped\u lock不是typedef的lock\u guard。这是一个typedef的unique\u lock两者

哪个是首选的
boost::lock\u-guard
还是
boost::mutex::scoped\u-lock

我正在使用Boost.Thread,希望在C++11线程可用时可以使用它

是代码> SistEdEXORD 下一个C++标准的一部分?< /P> 选择其中一个有什么好处吗


注意:我知道
scoped_lock
只是
lock_guard
typedef



编辑:我错了
scoped\u lock
不是
typedef
lock\u guard
。这是一个
typedef
unique\u lock

两者之间没有太大区别。根据,
作用域锁定
唯一锁定
的类型定义。
unique\u lock
lock\u guard
都实现了RAII风格的锁定。两者的区别在于
unique\u lock
有一个更复杂的接口——它允许延迟锁定和调用解锁

阿米特是对的:
boost::mutex::scoped_lock
boost::unique_lock
typedef
,而不是
lock_guard
<代码>作用域锁定在C++0x中不可用


除非您需要
unique\u lock
的灵活性,否则我将使用
lock\u guard
。它更简单,也更清楚地表达了将锁限制在定义范围内的意图。

我有一个问题:在范围锁中,任何对共享锁的调用都将被阻止。锁护板也是这样吗?