block的是发送信号的线程,又不是处理槽函数的线程

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了block的是发送信号的线程,又不是处理槽函数的线程相关的知识,希望对你有一定的参考价值。

请问UI线程给子线程发信号,应该用哪种连接方式?

 

如果子线程正在执行一个函数,我发射信号去执行子线程的另一个函数,那么此时子线程到底会执行什么呢?

用信号量做的同步。
第一把信号槽的事件丢到线程的事件队列,第二信号量等待,等到事件处理完触发,继续执行主线程逻辑。
子线程还是处理事件,只是信号槽的槽函数执行完,会做信号量的操作…

连接的时候,那就不需要block? 因为信号量已经控制好了?
需要,你只有指定那个连接参数才有信号量的操作…

block的是发送信号的线程,又不是处理槽函数的线程…
给槽函数线程没有关系…
不要一个链接里双向block,会死锁的…

以上是关于block的是发送信号的线程,又不是处理槽函数的线程的主要内容,如果未能解决你的问题,请参考以下文章

Qt::浅谈信号槽连接,参数在多线程中的使用

Qt的信号槽机制可以保障线程安全吗

QT中的信号与事件,多线程

QT中UI主窗口如何与子线程相互传递参数

QT多线程及通过事件进行通信(通过自定义事件,然后QApplication::postEvent给主界面,我之前用的是信号槽)

Qt 线程基础(QThreadQtConcurrent信号槽等)