小编Bra*_*rad的帖子

Qt和Boost RPC

我正在寻找一种连接两个系统的好方法:1)在Ubuntu上运行的基于Qt的应用程序和2)在另一个Ubuntu机器上运行的基于Boost的应用程序.两个应用程序都使用一个公共库,我将放置公共接口代码.我想使用RPC类型的接口.我看过CORBA和D-Bus,但我想知道其他人使用过或推荐过什么.

提前致谢.

qt rpc boost

7
推荐指数
1
解决办法
2852
查看次数

跨 Qt 线程共享数据

我是 Qt 的新手,所以请原谅问题的简单性,但我对 Qt 线程有点困惑。假设我有 3 个线程:主默认 GUI 线程和我自己创建的 2 个线程(称为 WorkerThread)。我的每个 WorkerThreads 都继承自 QThread,并且是永久线程,它们经常被唤醒并向套接字发送数据并在 GUI 元素上发布状态。1) 允许 GUI 线程在 WorkerThread 线程可以使用的 WorkerThread 对象中设置数据的最佳方法是什么?2)允许WorkerThread将状态发送到GUI线程以显示给用户?3)允许两个WorkerThreads使用同一个socket?

从文档看来,当我创建一个 WorkerThread 对象时,它由创建线程拥有(除了作为新线程的 run 方法)。那么如何为新线程设置要执行的数据呢?新线程使用的所有数据都必须是全局的吗?例如,我希望 GUI 允许用户为每个 WorkerThread 选择在唤醒时发送的数据包类型。我假设我会在 WorkerThread 中放入一些由 GUI 线程发出信号的槽。当 WorkerThread 对象收到 SetPacketType 信号时,它将设置 run 方法在每次迭代时引用的成员变量。但在阅读文档后,我不确定这是否是正确的方法。如果 WorkerThread 对象由创建线程(在本例中为 GUI 线程)拥有,那么向它发送信号不会跨越线程边界,不是吗?

另外,跨线程共享套接字连接的正确技术是什么?

提前致谢。

qt qthread

5
推荐指数
1
解决办法
6649
查看次数

标签 统计

qt ×2

boost ×1

qthread ×1

rpc ×1