Qt Concurrent的功能介绍
Qt在其QtConcurrent命名空间中为我们提供了编写多线程程序的高级API,使用这个API可以使我们在不使用低级的线程元素,如互斥锁,读写锁,条件变量或者信号量的情况下编写出搞笑的多线程程序。并且,使用QtConcurrent编写的程序能够自动地根据当前可以使用的处理器核心数调整实际使用的线程数目。这就意味着我们目前所写的程序即使将来的多核心机器上也能正常运行,并有很好的伸缩性。
编程实战
1、首先在.pro文件中加上以下内容:
QT += concurrent
2、包含头文件#include ,然后就可以使用QtConcurrent了,下载附上简单实用的代码:
#include <QCoreApplication>
#include <QtConcurrent>
#include <QDebug>
void funcOne()
{
for(int i=0;i<1000;i++)
{
qDebug() << "Func 1 ouput" << i;
}
};
void funcTwo()
{
for(int i=0;i<1000;i++)
{
qDebug() << "Func 2 ouput" << i;
}
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QtConcurrent::run(funcOne);
QtConcurrent::run(funcTwo);
return a.exec();
}
效果图如下:
参考:
https://blog.csdn.net/Amnes1a/article/details/66470751