【发布时间】:2012-03-18 15:25:18
【问题描述】:
我了解被boost::mutex::scoped_lock 锁定的变量在超出范围时会自动解锁。
boost::unique_lock怎么样,变量超出范围时会自动解锁吗?
任何人也可以指出该功能的参考。
double x;
boost::mutex x_mutex;
void foo()
{
{
boost::unique_lock<boost::mutex> lock(x_mutex);
x = rand();
}
...... some calculation which takes 10 second ......
...... is x still locked here??? ......
}
谢谢。
【问题讨论】:
-
如果析构函数没有解锁它,它什么时候才能解锁?
-
反之亦然。
boost::mutex::scoped_lock是unique_lock的类型定义。 boost.org/doc/libs/1_57_0/doc/html/thread/…
标签: c++ multithreading boost