1
我的應用程序是一個簡單的消息發送者/接收器通過TCP/IP與GUI。到目前爲止,所有東西都是單線程的,但我想將TCP/IP通信塊和GUI分割爲不同的線程。就我所見,我需要一個共享數據結構(如QQueue <QString>)在GUI線程和TCP/IP線程之間來回傳遞消息。如何在GUI線程和工作線程之間共享數據?
問題是:我在哪裏放置這個共享數據結構?如果我把它放在任何一個線程中,其他線程如何訪問它? O使用QSharedMemory之類的東西會更好嗎?
您應該使用Qt的插槽和信號機制的GUI線程和工作線程之間共享數據。 – 2013-05-03 17:59:58
借調...如果您必須表示新數據無論如何可能(可能),那麼只需使用信號本身來傳遞數據。如果很多數據不想複製太多,則可能轉而使用QMutex來控制對共享列表或隊列的訪問。 – darron 2013-05-03 18:06:57
可能重複的[跨Qt線程共享數據](http://stackoverflow.com/questions/12372301/sharing-data-across-qt-threads) – cmannett85 2013-05-03 18:52:25