我有一个QThread派生类,它通过向主线程发送QEvents来与主线程进行通信。
主线程与第二个线程通信的最佳方式是什么?
主线程有一个指向第二个的指针。
答案 0 :(得分:5)
在Qt中对象之间进行通信的最佳方式是使用信号和插槽。它是一种线程安全的方式,由事件循环处理,不需要您的锁定。你也可以使用事件,虽然这种使用看起来有点奇怪 - 事件是发生事件的通知,而不是聊天的工具。
您还可以使用QMutex,QSemaphore,QWaitCondition和QReadWriteLock等线程原语(与QMutex相同,但正如其名称所示,允许您锁定读取或写入,而不是同时锁定两者)。
您应该阅读Qt文档,特别建议您从Thread Support in Qt页面开始。