Qt 发送信号之后,如果对方在忙,是怎么处理?

2020-12-17 16:17:58 +08:00
 James369
qt 中一个线程 A 发送信号 Q_SIGNAL 让另外一个线程 B 来处理,如果此时线程 B 正在忙于繁忙任务(比如需要执行一分钟)。那么这个信号将被怎么处理?如下:
等待? - 等待超时多久。
排队? - 队列长度多少。
丢弃? - 能否再次发送。
1945 次点击
所在节点    Qt
2 条回复
billlee
2020-12-17 17:56:03 +08:00
对于 A 来说, 消息写入 B 的消息队列就返回了,不会等待
消息队列没有长度限制
如果 B 一直不从事件循环里取消息,那就一直堆着,直到内存用尽
KaoN
2020-12-30 13:15:30 +08:00
Qt::QueuedConnection 2 The slot is invoked when control returns to the event loop of the receiver's thread. The slot is executed in the receiver's thread.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/736433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX