头文件
#ifndef MYRUNNABLE_H
#define MYRUNNABLE_H
#include <QObject>
#include <QRunnable>
#include <QDebug>
#include <QThread>
#include <QThreadPool>
class MyRunnable : public QObject, public QRunnable
{
Q_OBJECT
public:
MyRunnable() = default;
~MyRunnable();
void run();
private:
};
#endif // MYRUNNABLE_H
cpp文件
#include "myrunnable.h"
MyRunnable::~MyRunnable()
{
}
//在run中实现业务逻辑
void MyRunnable::run()
{
for (int count = 0; count < 5; count++)
{
qDebug() << QThread::currentThread();
QThread::msleep(1000);
}
}
main文件
#include <QtCore/QCoreApplication>
#include "myrunnable.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyRunnable* pRun = new MyRunnable();
QThreadPool::globalInstance()->start(pRun);
return a.exec();
}