Qt中的多线程编程

Posted -glb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中的多线程编程相关的知识,希望对你有一定的参考价值。

技术图片

 

 技术图片

 

 QThread编程示例

class MyThread: public QThread   //创建线程类
{
protected:
    void run()   //线程入口函数
    {
        for(int i=0; i<5; i++)
        {
            qDebug() << objectName() << ":" << i;
            sleep(1)  //暂停1s
        }
    }

};

 

多线程编程初探

#include <QCoreApplication>
#include <QThread>
#include <QDebug>

class MyThread : public QThread
{
protected:
    void run()
    {
        qDebug() << objectName() << " : " << "run() begin";
        for(int i=0; i<5; i++)
        {
            qDebug() << objectName() << ": " << i;
            sleep(1);
        }
        qDebug() << objectName() << " : " << "run() end";
    }


};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug() << "main() begin";

    MyThread t;
    t.setObjectName("t");
    t.start();   //创建一个线程,并执行线程体run函数


    qDebug() << "main() end";

    return a.exec();
}

 

示例中的主线程将先于子线程结束,所有线程都结束后,进程结束

 

技术图片

 

以上是关于Qt中的多线程编程的主要内容,如果未能解决你的问题,请参考以下文章

第73课 Qt中的多线程编程

python中的多线程和多进程编程

Qt线程

qt中的多线程

Qt学习笔记8.Qt中的多线程

Qt中的多线程数据处理管道