QThread和boost线程之间的通信

时间:2013-02-11 06:52:53

标签: c++ boost-thread qthread

Gui在Qt,Api在boost。 Gui意在坐在Api之上。 Api的一个功能是进行网络级数据管理,以某种方式处理数据并与Gui通信(即,桥接Gui与Api的另一端)。为了防止GUI冻结Api,它可以在一个单独的线程中工作。如果Gui和Api都使用了Qt,那么使用Qt的交叉线程signal-slot机制可以更容易地进行通信。 Api emits并立即返回,反之亦然。因此,除非明确指定(Qt::BlockingQueuedConnection),否则不会阻止任何阻止。我一直在使用boost,因为需要在boost中编写新的Api。如何在boost <--> Qt通信中实现此机制? Api将成为header + static_library,因此Gui和Api将生成单个可执行文件。我必须支持最低限度的Linux,Windows和Mac。

编辑:很抱歉,但管理层已经进行了长时间的讨论(温和地说),但最终结果是“我有”在Api中使用提升。事实上,Gui甚至可能不会使用Qt。任何拥有Gui的人都应该能够插入我们的Api与另一端进行通信(有点像Gui - API - 内核模型)。所以关于在任何一方使用Qt的建议等都没有多大帮助

0 个答案:

没有答案