Qt的多线程总结以及使用(一)

Qt提供QThread类以进行多任务的处理。Qt提供的线程可以做到单个进程做不到的事情。在这里实现最简单的一个多线程。最简单的线程的基类为QThread,然后需要重写QThread的run(),在run()函数中实现的功能就是在线程中实现的功能。代码如下:

YLThread.h

#ifndef YLTHREAD_H
#define YLTHREAD_H
#include <QThread>

class YLThread : public QThread
{
 Q_OBJECT
public:
 YLThread();

protected:
 void run();
public:
 //用来打印数据
 void setValue(int num);
private:
 int printNum;
};

#endif // YLTHREAD_H

YLThread.cpp

#include "YLThread.h"
#include <QDebug>
YLThread::YLThread()
{

}

void YLThread::run(){

 //打印数据
 for(int i =0;i < 5;i++){
 p, li { white-space: pre-wrap; }

qDebug()<<QStringLiteral("value=%1输出:-----").arg(printNum)<<i+printNum;
 }
}
void YLThread::setValue(int num)
{
 printNum = num;
}

main.cpp

#include <QCoreApplication>
#include <QDebug>
#include "YLThread.h"
int main(int argc, char *argv[])
{
 QCoreApplication a(argc, argv);

 YLThread* thread01 = new YLThread() ;
 thread01->setValue(10);

 YLThread* thread02 = new YLThread() ;
 thread02->setValue(20);

 thread01->start();
 thread02->start();

 return a.exec();
}

以上代码是实现了最简单的多线程的操作,运行结果如下:

636D13F7-604B-4F6D-A53A-DC53C3557042.png
输出结果中,带红框的是是value =10的情况时的线程,不带红框的是value =20 输出的结果。

转载于:https://www.cnblogs.com/YouLing0809/p/6735718.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值