Qt线程的使用(一)
1.线程启用
QThread 即Qt中的线程类,与进程中的其他线程共享数据,但独立运行。QThread 从run()函数开始执行,通过调用start()函数开启run(),通过调用exec()开启时间循环。
先穿件一个MyTread类文件,这个类继承了QThread
//MyTread.h文件
#include <QThread>
#include <QDebug>
class MyThread : public QThread
{
Q_OBJECT
public:
explicit MyThread(QObject *parent = 0);
void stop();
private:
volatile bool stopped; //判断线程是否关闭的标志位
protected:
void run();
signals:
public slots:
};
//MyTread.c文件
MyThread::MyThread(QObject *parent) :
QThread(parent)
{
stopped = false; //将线程停止标志位设置为false
}
//启动线程函数
void MyThread::run()
{
qreal i =0; //对double的类型定义在所有平台上,除了那些使用ARM架构的cpu的平台。在基于arm的平台上,由于性能原因,qreal是float的类型定义。
while(! stopped)
{
qDebug()<<QString("in thread %1").arg(i++);
}
stopped = false;
}
//关闭线程函数
void MyThread: