当前位置: 首页 > news >正文

Qt之QtConcurrent

简介

QtConcurrent是针对qt中多线程相关的高层封装,如QFuture

结构

Qtconcurrent命名空间中的run支持的有
在这里插入图片描述
其对应的functor下结构为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类关系

functor对应的类核心关系为

StoredFunctorCall0<T FunctionPointer>
+runFunctor()
RunFunctionTask<T>
+ T result
+run()
RunFunctionTaskBase<T>
+run()
+runFunctor()
QFutureInferface<T>
QRunnable

RunFunctionTaskBase

  • start():默认使用的是全局线程池
QFuture<T> start(QThreadPool* poll)
{this->setThreadPool(pool);this->setRunnable(this);this->reportStarted();QFuture<T> theFuture = this->future();pool->start(this, 0);return theFuture;
}
  • run():是空实现
void run() {}
  • runFunctor():纯虚函数
virtual void runFunctor() = 0;

RunFunctionTask

是前面具体调用函数的执行框架
在这里插入图片描述
其重写了QRunnable的run方法,执行runFunctor


http://www.mrgr.cn/news/81907.html

相关文章:

  • 关于flinkCDC监控mysql binlog时,datetime类型自动转换成时间戳类型问题
  • swagger,showdoc,apifox,Mock 服务,dubbo,ZooKeeper和dubbo的关系
  • memcached的基本使用
  • 玩转OCR | 腾讯云智能结构化OCR初次体验
  • 【SQL】期末复习SQL语法详细总结
  • 风力涡轮机缺陷检测数据集,86.6%准确识别率,11921张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注
  • 【服务器项目部署】⭐️将本地项目部署到服务器!
  • 数仓建模:如何进行实体建模?
  • 大模型在自动驾驶领域的应用和存在的问题
  • MySQL数据库的备份与恢复你会了吗?
  • ubuntu2204 gpu 没接显示器,如何连接vnc
  • 3.2、SDH帧结构
  • Rust : tokio中select!
  • 【机器学习】【朴素贝叶斯分类器】从理论到实践:朴素贝叶斯分类器在垃圾短信过滤中的应用
  • Elasticsearch名词解释
  • C++ 设计模式:中介者模式(Mediator Pattern)
  • gesp(二级)(16)洛谷:B4037:[GESP202409 二级] 小杨的 N 字矩阵
  • 自定义 Element Plus 树状表格图标
  • ArcGIS Pro地形图四至角图经纬度标注与格网标注
  • html+css+js网页设计 美食 家美食1个页面
  • 【Rust自学】8.3. String类型 Pt.1:字符串的创建、更新与拼接
  • 被裁20240927 --- 嵌入式硬件开发 STM32篇
  • SonarQube相关的maven配置及使用
  • 【Rust自学】8.2. Vector + Enum的应用
  • 【Rust自学】7.4. use关键字 Pt.1:use的使用与as关键字
  • 内网学习:工作组用户与权限