C++ 当cond为true时,在以下情况下锁会发生什么变化?

C++ 当cond为true时,在以下情况下锁会发生什么变化?,c++,thread-safety,mutex,locks,C++,Thread Safety,Mutex,Locks,我有这个代码,现在任何人都可以回答,考虑到cond是真的,在以下情况下锁会发生什么情况:- for (;;) { static mutex m; Lock lock(m); if (cond) break; ... } 感谢假设锁类遵循原则,它将解锁互斥锁。假设锁类遵循原则,它将解锁互斥锁。RAII允许在作用域末尾解锁互斥锁 这里是另一个例子,RAII允许解锁作用域末尾的互斥锁 下面是另一个例子它会自动解锁互斥锁吗?是的,这就是RAII的要点。它应该在Lock的析构函数中解锁它,当作用域解

我有这个代码,现在任何人都可以回答,考虑到cond是真的,在以下情况下锁会发生什么情况:-

for (;;) {
static mutex m;
Lock lock(m);
if (cond)
break;
... 
} 

感谢

假设
类遵循原则,它将解锁互斥锁。

假设
类遵循原则,它将解锁互斥锁。

RAII允许在作用域末尾解锁互斥锁


这里是另一个例子,RAII允许解锁作用域末尾的互斥锁


下面是另一个例子

它会自动解锁互斥锁吗?是的,这就是RAII的要点。它应该在Lock的析构函数中解锁它,当作用域解除绑定(您退出for循环)时将调用该析构函数。它会自动解锁互斥锁吗?是的,这就是RAII的要点。它应该在Lock的析构函数中解锁它,当作用域展开时(您退出for循环)将调用该析构函数。