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

qt多线程的实战使用

//MyThread.h

#pragma execution_character_set("utf-8")//中文编码

class MyThread : public QThread

{

public:

explicit MyThread(QObject* parent) : QThread(parent)

{}

~MyThread(){}

void setWorkFunction(std::function<void()> runFun)

{

    m_runFun = runFun;

}

protected :

virtual void run()

{

    if(m_runFun)

    {

        m_runFun();

    }

    emit runFinish();

}

private :

std::function<void()> m_runFun = nullptr;

signals:

void runFinish();

};

 

 

//使用

std::function<void()> runFun = [=](){

    //线程执行调用功能

};

MyThread *pMyThread = new MyThread;

connect(pMyThread, &MyThread::finished, this, [=](){

//线程完成

pMyThread->deleteLater();//释放线程

});

connect(pMyThread, &MyThread::runFinish, this, [=](){

//线程执行完成

pMyThread->quit();//退出线程

});

pMyThread->setWorkFunction(runFun);//设置线程调用的功能

pMyThread->start();//启动线程

 

 

http://www.xdnf.cn/news/1120609.html

相关文章:

  • 【记录】BLE|百度的旧蓝牙随身音箱手机能配对不能连接、电脑能连接不能使用的解决思路(Wireshark捕获并分析手机蓝牙报文)
  • Linux(Ubuntu)硬盘使用情况解析(已房子举例)
  • HTML面试题
  • 消费 Kafka 一个TOPIC数据,插入到另一个KAFKA的TOPIC
  • python学习2
  • ubuntu(22.04)系统上安装 MuJoCo
  • FRP Ubuntu 服务端 + MacOS 客户端配置
  • 微前端架构详解
  • 《C++初阶之STL》【泛型编程 + STL简介】
  • Nacos 技术研究文档(基于 Nacos 3)
  • 基于R语言的极值统计学及其在相关领域中的实践技术应用
  • 迅为八核高算力RK3576开发板摄像头实时推理测试 ppyoloe目标检测
  • 《亿级流量系统架构设计与实战》通用高并发架构设计 读场景
  • 文心4.5开源之路:引领技术开放新时代!
  • Go从入门到精通(22) - 一个简单web项目-统一日志输出
  • 如何单独安装设置包域名
  • LeetCode--45.跳跃游戏 II
  • 雷卯针对灵眸科技RV1106G3开发板防雷防静电方案
  • AI数字人正成为医药行业“全场景智能角色”,魔珐科技出席第24届全国医药工业信息年会
  • 2024年中国公交网络数据集(Shp/分城市)
  • 【DOCKER】-6 docker的资源限制与监控
  • 【机器学习深度学习】Ollama vs vLLM vs LMDeploy:三大本地部署框架深度对比解析
  • ElasticSearch重置密码
  • LabVIEW浏览器ActiveX事件交互
  • JavaScript 性能优化实战:深入性能瓶颈,精炼优化技巧与最佳实践
  • aspnetcore Mvc配置选项中的ModelBindingMessageProvider
  • 多任务——协程
  • VictoriaMetrics 架构
  • VR样板间:房产营销新变革
  • 纯数学专业VS应用数学专业:这两个哪个就业面更广?