我是C++和Qt的新手,我想知道如果我在object1中发出一个运行在thread1中的signal,向另一个运行在另一个thread2中的object2发出一个运行在另一个thread2中的object2,而object2正在运行一个无限循环来进行处理,会发生什么呢?因为slot正在忙着运行循环,所以不会调用object2中的thread2吗?
发布于 2013-12-29 12:42:25
我是C++和Qt的新手,我想知道如果我在运行在thread1中的object1中发出一个信号,向运行在另一个thread2中的另一个object2发出信号,而object2正在运行一个无限循环进行处理,会发生什么呢?object2中的插槽将永远不会被调用,因为thread2正在忙着运行循环?
是也不是。
如果不处理事件,那么线程就没有机会像预期的那样处理事件、信号和插槽。
但是,您可以在那里做一个事件循环,它偶尔会处理进来的事件,然后它会像您期望的那样工作。
我的解释比这更长,对于那些想要获得更多关于这个主题的详细信息的人来说,here是可用的。
https://stackoverflow.com/questions/20825039
复制相似问题