首页 > 其他分享 >Qt并行计算

Qt并行计算

时间:2023-12-09 13:44:43浏览次数:34  
标签:Qt int QtConcurrent 并行计算 num vFuture

比如QVector中所有元素+1,可以用并行计算。

QtConcurrent::map():将一个函数应用于一个容器中的每一项,就地修改 items。

void add(int &num)
{
    num +=1;
}

{
    QVector<int> vector;

    for(int i=0; i<3; i++)
       vector.append(i);

    qDebug() << "start: " << vector;

    QFuture<void> vFuture = QtConcurrent::map(vector, add);
    vFuture.waitForFinished();

    qDebug() << "map result: " << vector;
}

此处仅记录,更多详细内容参考Qt 并行运算高级API QtConcurrent - 一杯清酒邀明月 - 博客园 (cnblogs.com)

标签:Qt,int,QtConcurrent,并行计算,num,vFuture
From: https://www.cnblogs.com/xixixing/p/17890852.html

相关文章

  • C++ Qt开发:Qt的安装与配置
    Qt是一种C++编程框架,用于构建图形用户界面(GUI)应用程序和嵌入式系统。Qt由Qt公司(前身为Nokia)开发,提供了一套跨平台的工具和类库,使开发者能够轻松地创建高效、美观、可扩展的应用程序。其被广泛用于开发桌面应用程序、嵌入式系统、移动应用程序等。无论是初学者还是经验丰富的开发者......
  • Qt6 c++教程2 Qt Creator简介
    2QtCreator简介QtCreator是Qt自带的集成开发环境(IDE),用于跨平台应用程序开发。在本章中,您将学习QtCreator集成开发环境的基础知识,并了解集成开发环境的用户界面(UI)。我们还将了解如何在QtCreator中创建和管理项目。本Qt模块包括使用QtCreator开发一个简单的Qt应用程序、......
  • Qt同步、异步
    【同步、异步】同步意味着事件、操作或进程是有序的,一个操作必须在另一个操作完成后开始执行。当多线程时通过锁、信号量等机制来确保数据一致性或避免竞争条件。异步则意味着事件、操作或进程是独立的,可以在不等待其他操作完成的情况下开始执行。一定是多线程。参考:理清概念:同......
  • vs 工程添加QT Property
    右键projectname,选择unloadproject 双击工程名称,会打 【开工程名.vcxproj】文件 找到文件中的  PropertyGroupLabel="Globals"<PropertyGroupLabel="Globals"><ProjectGuid>{A639-FC7C1B}</ProjectGuid><WindowsTargetPlatformVer......
  • Qt小知识1.Q_DECLARE_METATYPE和qRegisterMetaType
    1了解Q_DECLARE_METATYPEQ_DECLARE_METATYPE是一个Qt宏,用以通知Qt的反射系统关于自定义类型的存在。当使用此宏声明一个类型后,该类型可以在QVariant中使用。QVariant是Qt中用于存储可以包含任意类型的一个“通用”值容器。Qt元对象系统不知道非Qt类的存在,因此如果要在QVarian......
  • Qt显示OpenCV的单通道图片
    一、概述Qt中显示OpenCV的图片。OpenCV中的Mat默认是3通道图片。但是其灰度图、二值图片会是8位单通道的。示例代码中记录了如何显示二、代码示例#include"ImageUtils.h"MatImageUtils::qImageToMat(QImageqImage){//QImage转Mat三通道图片QImageimage=......
  • vcpkg 包管理在Clion 和 Qt中的使用
    在使用C++的过程中,发现了一个强大的包管理器,以后再也不用自己去单独编译某个C++的外部插件了。下面说一下教程:安装好git后,直接在D:\Plugins\develop目录下克隆一个vcpkg的目录gitclonehttps://github.com/microsoft/vcpkg进入vcpkg目录后,打开管理员命令台,输入./vcpkgins......
  • 13、QT窗口API函数基础知识
    QT窗口API函数geometry()用于获取窗口在屏幕上的几何位置和大小QRectgeo=widget->geometry();intx=geo.x();//窗口左上角的x坐标inty=geo.y();//窗口左上角的y坐标intw=geo.width();//窗口的宽度inth=geo.height();//窗口的高度width()函数返......
  • 12、QT自定义消息框
     #include"dialog.h"Dialog::Dialog(QWidget*parent):QDialog(parent){resize(260,80);glayout=newQGridLayout(this);labelmsg=newQLabel("自定义消息框");msgButton=newQPushButton("测试操作");labeldis......
  • Qt/C++音视频开发58-逐帧播放/上一帧下一帧/切换播放进度/实时解码
    一、前言逐帧播放是近期增加的功能,之前也一直思考过这个功能该如何实现,对于mdk/qtav等内核组件,可以直接用该组件提供的接口实现即可,而对于ffmpeg,需要自己处理,如果有缓存的数据的话,可以通过在缓存中的数据往前移动往后移动即可。这样就要求做一个比较大的缓存队列,占用一定的内存是......