【发布时间】:2010-09-29 13:46:31
【问题描述】:
这是我用 Qt 编写的代码 sn-p。
bool myFunc()
{
.......
while(!tcpCommunicator->isLoginReplyExist)
{
qApp->processEvents(QEventLoop::AllEvents);
}
.......
return tcpCommunicator->res;
}
在“isLoginReplyExist”被我想退出循环的程序的另一部分更改后,有没有更好的方法来完成这个?
谢谢。
【问题讨论】:
-
当
isLoginReplyExist更改为false 时,循环已经终止——您的意思是要中断processEvents并在发生这种情况时退出循环? -
不,我只是想知道有没有更有效的方法来做到这一点?直觉上我实现它的方式在我看来效率低下。
-
如果你使用单线程,没有别的事情可做,那是没有问题的。如果它不是那关键,你可以在你的循环中设置一个睡眠来最小化CPU使用率。
标签: c++ events qt concurrency synchronization