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
。它更简单,也更清楚地表达了将锁限制在定义范围内的意图。我有一个问题:在范围锁中,任何对共享锁的调用都将被阻止。锁护板也是这样吗?