在多线程应用程序中,图形用户界面运行于它自己的线程中,而另外的事件处理则会发生在一个或多个其它线程中。这样做之后,即使在处理那些数据密集的事件时,应用程序也能对图形用户界面保持响应。当在一个单处理器上运行时,多线程应用程序可能会比实现同样功能的单线程应用程序运行得更慢一些,无法体现出其优势。但是在目前多处理器系统越来越普及的情况下,多线程应用程序可以在不同的处理器中同时执行多个线程,从而获得更好的总体性能。Qt给程序员提供了实现多线程的模块,程序员可以使用两种方式创建多线程应用程序。
Qt创建多线程应用程序的一种方法如下:
1)首先实例化QThread类,并重写QThread的虚函数run();代码如下:
//myThread.h
class myThread : public QThread
{
Q_OBJECT
public:
explicit myThread(QObject *parent = 0);protected:
void run();
};