











背景: 之前 只知道个 QWaitCondition 用于同步不同的线程运行状态。但不知道为何这样做。为什么还要在QWaitcondition.wai( )中还要传入一个 QMutext 变量的指针。
Qmutex mutex;
QwaitCondition cond;
bool statFlag=false;
QmutextLocker lock(&mutex);
While(!statFlag) //A
{
cond.wait(&mutex);{ 解锁mutex //B
其他线程趁此时可以修改statFlag的值
wait()退出是 再锁定 mutex (其他线程不能修改statFlag值)
}**
}
//C…
这样通过While循环不断的检测statFlag值 确定是否退出该while循环,以便执行 C处代码
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。