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