开发应用是经常会用到多线程,使用QT5实现多线程的方式时,首先新建C++类继承QThread,然后重写run方法。
1.cfaceclassthread.h
#ifndef CFACECLASSTHREAD_H
#define CFACECLASSTHREAD_H
#include <QThread>
#include <QEventLoop>
#include <QTimer>
#include <iostream>
using namespace std;
class CFaceClassThread : public QThread
{
public:
CFaceClassThread();
//结束线程标志位
bool bStopThread;
void run();
};
#endif // CFACECLASSTHREAD_H
2.cfaceclassthread.cpp
#include "cfaceclassthread.h"
CFaceClassThread::CFaceClassThread()
{
bStopThread = false;
}
//线程执行函数
void CFaceClassThread::run()
{
//cout<<"thread run!"<<endl;
bStopThread = false;
while(!bStopThread)
{
//to do what you want
//延时等待一会
QEventLoop eventloop;
QTimer::singleShot(100, &eventl