在基于Qt开发的时候,多看帮助文档Assistant 5.9.8 (MSVC 2013 64-bit)
简单测试QThread,主要是run和start
factory.cpp的代码内容
#include "server/factory.hpp"
#include <QtCore>
Factory::Factory()
{
}
Factory::~Factory()
{
}
void Factory::run()
{
int i = 0;
while (i < 3)
{
qDebug() << "From worker thread: " << currentThreadId() << "i=" << i;
i++;
sleep(1);
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "From main thread: " << QThread::currentThreadId();
Factory t;
QObject::connect(&t, SIGNAL(finished()), &a, SLOT(quit()));
t.start();
return a.exec();
}
factory.h
#ifndef __FACTORY_H_
#define __FACTORY_H_
#include <QThread>
#include <qdebug.h>
class Factory: public QThread
{
Q_OBJECT
public:
Factory();
~Factory();
public:
void run();
};
#endif // __FACTORY_H_