Qt 线程池的最简单的例子

线程池简单的例子,有问题请多多提出来:

创建一个类Qrunb 继承 QRunnable 

#ifndef QRUNB_H
#define QRUNB_H

#include 
#include 
class Qrunb : public QObject, public QRunnable
{
    Q_OBJECT
public:
    explicit Qrunb(QObject *parent = nullptr);
    void run() override;
signals:

public slots:
};

#endif // QRUNB_H

重行写run函数:

#include "qrunb.h"
#include 
#include 
Qrunb::Qrunb(QObject *parent) : QObject(parent)
{

}

void Qrunb::run()
{
    qDebug() << "my first QThreadPool: " << QThread::currentThreadId();
}

主函数调用:


    //线程池的使用
    Qrunb * one = new Qrunb;
    Qrunb * two = new Qrunb;
    QThreadPool::globalInstance()->start(one);
    QThreadPool::globalInstance()->start(two);

显示结果为:

有关QThreadPool现有的函数部分,可以查看帮助文档。

 

你可能感兴趣的:(QT5.9)