我有以下代码:
std::unique_lock<std::mutex> myLock( myMutex );
std:condition_variable queueWriterCondition;
queueWriterCondition.wait( myLock );
之后
std::unique_lock<std::mutex> myLock( myMutex );
myMutex已被锁定。在调用wait()之后,锁定被释放并且当前线程被阻止。
现在我的线程得到通知并且wait()存在。
根据reference&#34;解除阻止后,无论原因如何,锁定重新获取并等待退出。&#34;
如果我理解正确,当超出范围时,unique_lock不会自动解锁。在这种情况下,永远不会放弃锁定。
根据我的经验,似乎在wait()退出后没有锁定互斥锁。
谁错了。我还是参考?