2013-05-28 57 views
10

QThreads和QRunnable有什么区别?C++/Qt - QThread vs QRunnable

什么时候应该使用QThread,何时使用QRunnable?

+0

一个很好的谈QT(他们解释的QThread,QRunnable,QThreadPool,跨线程信号插槽多线程等)在Qt DevDays 2011给出。视频可以在这里找到:[第1部分](http://qt-project.org/videos/watch/advanced-qt-a-deep-dive-3-6-多线程-1),[第2部分](http://qt-project.org/videos/watch/advanced-qt-a-deep-dive-4-6-multithreading-2)。 – leemes

回答

8

QRunnable类和QtConcurrent::run()功能非常适合于我们想要在一个或多个 副螺纹,而无需由 的QThread提供的全部能力和灵活性来执行一些后台处理的情况。

从 “ 高级Qt编程:创建以C大软件++和Qt 4

由Mark Summerfield的

+4

如果它解释了“QThread提供的全部功能和灵活性”,这个答案会很有用,因为它建议你应该默认使用QRunnable,并且只在需要时才使用QThread ...什么?信号?事件循环?等等。 – Schollii