我在使用 C++ Boost 线程的地方有以下代码行:
void threadFunc()
{
boost::mutex::scoped_lock lock(m_Mutex);
//some code here...
condition.notify_one();
}
那么我应该在最后一行之前调用 unlock() 函数吗,如下所示?如果我不调用 unlock() 有什么区别?
void threadFunc()
{
boost::mutex::scoped_lock lock(m_Mutex);
//some code here...
lock.unlock();
condition.notify_one();
}