Qt-系统QThread多线程介绍使用(62)

server/2024/10/17 19:25:57/

目录

描述

相关函数

使用

准备工作

重写run 

发送信号

创建一个线程

启动线程

计时器运行流程

多线程运用场景


描述

qt多线程和Linux多线程类似

Linux有自己的一套多线程 API,Qt 也有着自己封装的多线程 API 

QT多线程参考了JAVA中的设计方式

QThread创建线程要重新run函数

这种做法在 C++ 中并不常见

 

相关函数

run()线程的⼊⼝函数..
start()通过调⽤ run() 开始执⾏线程。操作系统将根据优先级参数调度线程。如果线程已
经在运⾏,这个函数什么也不做。
currentThread()返回⼀个指向管理当前执⾏线程的 QThread的指针。
isRunning()如果线程正在运⾏则返回true;否则返回false。
sleep() / msleep() /
usleep()
使线程休眠,单位为秒 / 毫秒 / 微秒
terminate()终⽌线程的执⾏。线程可以⽴即终⽌,也可以不⽴即终⽌,这取决于操作系统的调
度策略。在terminate() 之后使⽤ QThread::wait() 来确保。
finished()当线程结束时会发出该信号,可以通过该信号来实现线程的清理⼯作。

 

使用

创建一个定时器

但是由于 Qt 的对于修改界面的保护机制,我们只能在主线程中进行修改

 

准备工作

ui中拉取一个定时器

 

重写run 

创建一个类 

 

发送信号

 

创建一个线程

启动线程

 

计时器运行流程

多线程运用场景

多线程是为了充分利用 CPU 的计算资源,特别是多核CPU的,现在的电脑基本上是多线程的

用户体验和速度的取舍

在大部分情况下,客户端的用户体验要大于速度 

通常多线程都是用于等待 IO 的操作,这类的事件通常很消耗时间

因此对于qt中的多线程运用场景一般还是中处理 密集IO 操作上


http://www.ppmy.cn/server/132561.html

相关文章

云服务器磁盘满了,清理docker无用缓存、容器等清理

docker system prune 命令用于清理 Docker 系统中的各种未使用资源。根据你提供的警告信息,这条命令将会移除以下内容: 所有已停止的容器(all stopped containers) 所有未被至少一个容器使用的网络(all networks no…

AI赋能安全运营 | 赛宁网安深度参与四川省网络安全沙龙

为促进四川省、市网络安全公共服务领域的经验交流与深入探讨,打通网络安全供需上下游,加速汇聚省、市优质网络安全设备和服务资源,提升巴中市乃至四川省网络安全防护水平,共同推动四川省网络安全事业的蓬勃发展。 2024年10月15日…

Java【代码 19】含有换行符\r\n的字符串匹配(源码分享)处理Word文档里的Excel表格数据

含有换行符的字符串匹配 1.问题说明2.问题分析3.问题解决 1.问题说明 Java 后台读取包含 Excel 表格的 Word 文档,此时正文数据字符串包含 \r\n也就是换行符,想要通过 yaml 配置文件匹配 Excel 表格的表头,但是无论如何都是匹配不上&#xf…

CSS @规则(At-rules)系列详解___@font-face规则使用方法

CSS 规则(At-rules)系列详解 ___font-face规则使用方法 本文目录: 零、时光宝盒 一、CSSfont-face规则定义和用法 二、font-face语法 三、font-face使用方法例子 3.1、指定一种字体 3.2、font-face 里添加文本的描述符 3.3、设置多个 font-face 规则。 3.4…

第十五届蓝桥杯C/C++学B组(解)

1.握手问题 解题思路一 数学方法 50个人互相握手 (491)*49/2 ,减去7个人没有互相握手(61)*6/2 答案:1024 解题思路二 思路: 模拟 将50个人从1到50标号,对于每两个人之间只握一…

产品更新|DuoPlus云手机APP预装、批量管理功能新上线!

前言:在这个日新月异的时代,每一个微小的变化都可能引领行业新潮流,DuoPlus云手机基于不断创新的原则,把用户的体验放在第一位,不断对产品进行调整优化,力求提升用户的工作效率。 我们通过收集用户反馈&am…

阳台插入式光伏系统如何选防逆流电流互感器-安科瑞黄安南

近年,在海外,尤其是欧洲区域,阳台光伏异军突起,受到极大关注。今年2月,德国VDE(德国电气工程师协会,直接参与德国国家标准制定)起草文件,拟在确保安全情况下,…

【论文阅读笔记】The Chubby lock service for loosely-coupled distributed systems

文章目录 1 简介2 设计目标3 Chubby设计3.1 系统结构3.2 文件、目录、句柄3.3 锁和序列器3.4 事件通知机制和缓存3.5 Session 和 KeepAlive3.6 故障转移3.7 数据库实现3.8 备份和镜像 4 扩展机制4.1 代理4.2 分区 1 简介 Chubby是一个面向松耦合分布式系统的锁服务&#xff0c…