Qt中的多线程编程

时间:2020-07-23 09:21:43   收藏:0   阅读:103

技术图片

 

 技术图片

 

 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();
}

 

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

 

技术图片

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!