2009-09-20 43 views
3

我用QT了很多。我想知道一些事情:Qt在后台创建多少个线程?像处理信号和槽..Qt在后台创建多少个线程?

此外,任何GUI工具包创建事件线程太多(我似乎记得Java那样)。 Qt是否也创建一个?

编辑:当我说“多少线程”,我真的是哪些线程

感谢,
JRH

回答

6

Qt的信号和槽使用多线程不落实,他们只是一个方式处理事件分发的簿记。

有一件事你能做的就是运行您的程序,计算使用任何OS功能,您喜欢(如Windows任务管理器)的线程,看看是否符合你的期望。除非您提出要求,否则我不会希望Qt创建任何其他线程。

+0

好吧,我写一个程序验证了这一点...谢谢 – jrharshath 2009-09-20 08:39:28

3

作为格雷格提到的,信号和槽不使用螺纹。一般来说,QT永远不会创建线程做事情的背景,除了:

  • 网络代码,它可以创建一个线程来执行DNS查找。

  • QThreadPool将在初始化(或首次使用它)时创建N + 1线程,其中N是CPU核心的数量。

干杯,

3

QFileSystemModel使用一个单独的线程来填充自身,所以不会造成主线程挂起,文件系统被查询。

相关问题