提升范围锁(互斥锁)

时间:2015-08-10 13:03:57

标签: c++ boost

我想问一下语法:

boost::scoped_lock(mutex);

是对的吗?编译过程没有任何问题。

1 个答案:

答案 0 :(得分:2)

不,scoped_lock是一个变量,当执行离开它的范围时,它会解锁互斥锁。您应该像以下一样使用它:

boost::scoped_lock var_lock(mutex);

示例:

if(true){ // scope
  boost::scoped_lock var_lock(mutex);
  // mutex locked here
}
// var_lock destroyed, mutex unlocked