线程池简单的例子,有问题请多多提出来:
创建一个类Qrunb 继承 QRunnable
#ifndef QRUNB_H
#define QRUNB_H
#include <QObject>
#include <QRunnable>
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 <QDebug>
#include <QThread>
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现有的函数部分,可以查看帮助文档。