qt多线程事件通信机制及原理

冥极醉醉冥极 2017-04-10 10:44:45
在主线程中异步的添加两个信号槽A,B,启动一个工作线程,依次发送信号A,B,但AB发送间隔不确定,那么主线程一定先收到事件A,再收到事件B吗?另外,主线程和工作线程的通信是否是通过消息队列来进行交互的,发送信号A是不是就是在消息队列中写一个事件A?另外,在默认情况下,两个线程的消息队列只有一个?最后问一个,问QT问题,最好选哪个版块?
...全文
441 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
冥极醉醉冥极 2017-04-14
  • 打赏
  • 举报
回复
我想问线程这样的事件发送和对方线程接受之间是通过什么机制传递的,是消息队列?
冥极醉醉冥极 2017-04-14
  • 打赏
  • 举报
回复
[/quote]连接信号时如果没有指定连接方式,也就是第五个参数默认。在同一线程中没触发信号直接调用槽函数。在不同线程会以queueconnection的方式连接[/quote] 默认是自动动的,如果同线程是direct这种方式,不同是队列这些形式。
kerwin liu 2017-04-11
  • 打赏
  • 举报
回复
引用 3楼我是你的主体 的回复:
其实,更多的是我想知道QT线程间传递事件的原理是怎么样的,虽然我觉得也是先触发A的槽函数,但我想知道原因
连接信号时如果没有指定连接方式,也就是第五个参数默认。在同一线程中没触发信号直接调用槽函数。在不同线程会以queueconnection的方式连接
赵4老师 2017-04-10
  • 打赏
  • 举报
回复
百度搜相关关键字。
冥极醉醉冥极 2017-04-10
  • 打赏
  • 举报
回复
其实,更多的是我想知道QT线程间传递事件的原理是怎么样的,虽然我觉得也是先触发A的槽函数,但我想知道原因
kerwin liu 2017-04-10
  • 打赏
  • 举报
回复
会先触发a的槽

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧