首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt线程里,emit 信号后,sleep(10)的有关问题

2012-01-28 
Qt线程里,emit 信号后,sleep(10)的问题过程:首先 线程的信号 跟 主线程的槽 是异步连接的。我在一个继承自

Qt线程里,emit 信号后,sleep(10)的问题
过程:
首先 线程的信号 跟 主线程的槽 是异步连接的。
我在一个继承自 QThread的线程的run函数里,emit 信号后,立即sleep(10) 10秒。

结果:
emit后,槽并没有立即执行,而是等到sleep 10秒后,才会执行。

无论如何改变sleep的值,槽都要在sleep后才能执行。

问题:
所以想不通是为什么,明明是异步的,信号发出后,主线程空闲就可以处理就可以了,可是为何要偏偏等从线程的sleep结束后才能执行呢,往指教,谢谢

[解决办法]

探讨
问题:
所以想不通是为什么,明明是异步的,信号发出后,主线程空闲就可以处理就可以了,可是为何要偏偏等从线程的sleep结束后才能执行呢,往指教,谢谢

[解决办法]
把wait去掉就可以了,想办法在其它地方delete线程,

另外建议你用postEvent,在线程中用connect效果不好

热点排行