1、多线程间的控制
有以下类提供对线程进行互斥和同步。
QMutex
QMutexLocker
QReadWriteLocker
QReadLocker
QWriteLocker
QSemephore
QWaitCondition
2、线程
头文件定义
#include <QThread>
class WorkThread : public QThread
{
Q_OBJECT
public:
WorkThread();
bool m_bRunning;
protected:
void run();
};
CPP实现
#include "workthread.h"
#include <QtDebug>
WorkThread::WorkThread()
{
m_bRunning = false;
}
void WorkThread::run()
{
m_bRunning = true;
while(m_bRunning )
{
for(int n=0;n<10;n++)
qDebug()<<n;
}
}
3、启动线程
workThread=new WorkThread();
workThread->start();
4、结束线程
workThread->m_bRunning = false;
workThread->terminate();
workThread->wait();