Qt编制一个多线程程序

该示例展示了如何在Qt5中使用C++创建一个继承自QThread的类,重写run方法执行特定任务,并通过QCoreApplication的exec方法启动事件循环。线程通过msleep挂起,模拟间隔输出。文章还提及了Qt中的其他多线程工具,如QThreadPool、QMutex等。
摘要由CSDN通过智能技术生成

使用Qt编写多线程程序的示例代码(使用C++语言和Qt 5):

#include <QCoreApplication>
#include <QThread>
#include <QDebug>
​
class MyThread : public QThread
{
public:
    void run() override {
        for(int i = 0; i < 10; i++) {
            qDebug() << "MyThread running" << i;
            msleep(1000); //线程挂起1秒
        }
    }
};
​
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
​
    qDebug() << "Main thread running.";
​
    MyThread *myThread = new MyThread;
    myThread->start();
​
    return a.exec();
}

在这个示例代码中,我们定义了一个名为MyThread的类,它继承自Qt中的QThread类。我们重写了它的run方法,在其中添加了一个简单的循环来模拟线程的运行,每隔1秒输出一条消息。在主函数中,我们先输出了一条消息,然后创建了一个MyThread对象,并调用了它的start方法来启动这个线程。最后,我们调用了QCoreApplication中的exec方法来开始Qt程序的事件循环。

这个示例程序中,我们通过继承QThread类来实现了一个线程类,并重写了它的run方法来定义这个线程要做的工作。在真实的多线程程序中,我们可以创建多个这样的线程类,并在主线程中管理它们的启动和停止。在Qt中,还有其他的多线程类和工具可用,如QThreadPool、QMutex、QWaitCondition等,可以根据实际需要选择合适的技术来实现多线程编程。

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,C++设计模式,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值