代码之家  ›  专栏  ›  技术社区  ›  Nathan Osman

在qt中与另一个线程通信的最佳实践是什么?

  •  3
  • Nathan Osman  · 技术社区  · 14 年前

    我有一个qthread派生类,它通过向主线程发送qevents来与主线程通信。

    主线程与第二个线程通信的最佳方式是什么?

    主线程有一个指向第二个线程的指针。

    1 回复  |  直到 14 年前
        1
  •  5
  •   CMircea    14 年前

    在qt中,对象之间通信的最佳方式是使用信号和插槽。这是一种线程安全的方式,由事件循环处理,不需要锁定您的部分。你也可以使用事件,尽管这种用法看起来有点奇怪——事件是一个事件发生的通知,而不是聊天工具。

    您还可以使用线程原语,如qmutex、qsemaphore、qwaitcondition和qreadwritelock(与qmutex相同,但顾名思义,它允许您锁定读或写,而不是同时锁定两者)。

    您应该阅读qt文档,特别是我建议您从 Thread Support in Qt 页。