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