往期链接:
- 《QThread源码浅析》
- 《子类化QThread实现多线程》
- 《子类化QObject+moveToThread实现多线程》
- 《继承QRunnable+QThreadPool实现多线程》
- 本文章实例的源码地址:https://gitee.com/CogenCG/QThreadExample.git
在QT开发的场景中,个人觉得此方法使用的也比较少,所以本文只作一个简单使用的介绍。QtConcurrent 是命名空间 (namespace),它提供了高层次的函数接口 (APIs),使所写程序,可根据计算机的 CPU 核数,自动调整运行的线程数目。本文以 Qt 中的 QtConcurrent::run() 函数为例,介绍如何将函数运行在单独的线程中。
(1)使用 QtConcurrent 模块,需要在 .pro 中添加:
QT += concurrent
(2)将一个普通函数运行在单独线程:
#include <QApplication>
#include <QDebug>
#include <QThread>
#include <QtConcurrent>
void fun1(){
qDebug()<<__FUNCTION__<<QThread::currentThread();
}
void fun2(QString str1, QString str2){
qDebug

本文介绍QtConcurrent模块的使用方法,演示如何通过QtConcurrent::run()函数将不同类型的函数运行在独立线程中,包括无参函数、带参函数及类的成员函数。
最低0.47元/天 解锁文章
583

被折叠的 条评论
为什么被折叠?



