我用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