0
我在阅读Qt的Blocking Fortune Client Example。有一段代码如下:为什么要在这里锁定QMutex?
mutex.lock();
QString fortune;
in >> fortune;
emit newFortune(fortune);
cond.wait(&mutex);
serverName = hostName;
serverPort = port;
mutex.unlock();
我有点困惑,为什么它锁定第一行的互斥量。因为财富和是局部变量。或散发应该保护?
这是代码:http://doc.qt.io/qt-5/qtnetwork-blockingfortuneclient-fortunethread-cpp.html。整个项目可以在页面底部找到。
我没有看到任何理由将锁定呼叫置于放置位置。我会在等待电话之前把它放好。但我没有深入研究完整的例子。不过,你本身并不需要保护发射。 – ixSci
@ixSci:谢谢。这里是源代码,http://doc.qt.io/qt-5/qtnetwork-blockingfortuneclient-fortunethread-cpp.html,它很短。 – diverger