2016-09-30 140 views
1

我无法找到解决我的问题的确切解决方案。 我有一个对象“psu”的6个实例的基类“主”。每个“psu”都有一个附加类“发件人”的实例,通过udp发送消息。 每个实例都使用额外的端口来发送消息。现在的想法是,使用moveToThread在“main”类中创建一个“sender”实例,并将其放在新线程中。现在当所有6个“psu实例想要通过udp发送消息时都会发出一个信号,如果他们在短时间内完成这些信号,那么这些信号会进入一个队列吗?还是会对我的数据进行操作?信号QT线程,信号顺序

我希望你明白我的意思是,可以给我一个确切的答案

我需要的互斥的东西

简短通知:?我用一个自定义的结构女巫代表包我发送。

致以问候 MAX

+0

如果我理解正确的[这](http://stackoverflow.com/questions/1246933/order-of-slots-called-on-qobject)问题应该可以帮助您 – Mikhail

+0

这不正是我想同样的事情...我将来自多个实例的信号发送到另一个线程中的一个插槽......不是从一个实例到同一个实例......还是qt以同样的方式处理这个问题? – MaxSeib

回答

1

如果多个插槽有Qt :: DirectConnection,它们将按照它们连接的顺序被调用。如果多个插槽有Qt :: QueueConnection,它们将按照它们连接的顺序被调用。如果混合匹配,那么所有Qt :: DirectionConnection插槽将按顺序调用,然后当控制权返回到事件循环时,所有Qt :: QueuedConnection插槽将按顺序调用。 Credit