QT子线程通过循环向主线程发送打印的信息,为什么主线程最后才集中的打印,而不是每循环一次打印一次呢?

第一次使用QT,用QT写页面置换算法时,我想的是子线程每次循环向主线程发送打印的信息,主线程将信息打印出来,但是经过测试发现,主线程都是在子线程循环完毕后,才将消息集中的打印出来,而不是每经过一次循环发送消息打印一次,是什么原因造成的啊,子线程和主线程是通过信号槽发送信号的
测试结果如下图

img

补充:我知道了,在connect函数里,第五个参数默认为Qt::AutoConnection ,如果接收者和发送者不在同一个线程,会自动使用Qt::QueuedConnection,而这个类型,在发送信号后,槽函数不会立刻被调用,等到接收者当前函数执行完,进入事件循环之后,槽函数才会被调用。将第五个参数改为Qt::BlockingQueuedConnection就可以解决,这个类型发送者在发送完信号后,线程会阻塞,等待槽函数执行完毕。