我用QT了很多。我想知道一些事情:Qt在后台创建多少个线程?像处理信号和槽..Qt在后台创建多少个线程?
此外,任何GUI工具包创建事件线程太多(我似乎记得Java那样)。 Qt是否也创建一个?
编辑:当我说“多少线程”,我真的是哪些线程
感谢,
JRH
我用QT了很多。我想知道一些事情:Qt在后台创建多少个线程?像处理信号和槽..Qt在后台创建多少个线程?
此外,任何GUI工具包创建事件线程太多(我似乎记得Java那样)。 Qt是否也创建一个?
编辑:当我说“多少线程”,我真的是哪些线程
感谢,
JRH
Qt的信号和槽使用多线程不落实,他们只是一个方式处理事件分发的簿记。
有一件事你能做的就是运行您的程序,计算使用任何OS功能,您喜欢(如Windows任务管理器)的线程,看看是否符合你的期望。除非您提出要求,否则我不会希望Qt创建任何其他线程。
作为格雷格提到的,信号和槽不使用螺纹。一般来说,QT永远不会创建线程做事情的背景,除了:
网络代码,它可以创建一个线程来执行DNS查找。
QThreadPool将在初始化(或首次使用它)时创建N + 1
线程,其中N是CPU核心的数量。
干杯,
QFileSystemModel
使用一个单独的线程来填充自身,所以不会造成主线程挂起,文件系统被查询。
好吧,我写一个程序验证了这一点...谢谢 – jrharshath 2009-09-20 08:39:28