QT踩坑第十一天(QT多线程)

前言:
QT在什么时候会用到多线程:
所有的IO操作都要放到线程里面
1、IO操作QIODevice文件IO网络IO(套接字eg:CAN Linux下也是套接字)串口等外设,因为他们不确定什么时候可以读完。
2、耗时的算法eg:文件压缩 信号处理
注意:
1、线程里面尽量少用while(1)+sleep();
尽量使用事件驱动,少用耗时扫描
并发控制简介:
进行时间片轮流:比如让xx执行0.000001秒只要来回转可以看见N多软件一起在“转”;这样让用户看起来都在执行;
实时抢占:严格按照优先级走,优先级高的能抢占优先级低的任务(线程);

一、QThread介绍

QThread类提供了一个与平台无关的线程管理的方法。一个QThread对象管理一个线程。QThread的执行
从run()函数的执行开始,在QT自带的QThread类中,run()函数通 过调用exec()函数来启动事件循环机制,,并且在线程内部处理Qt的事件。在Qt中建立 线程的主要目的就是为了用线程来处理那些耗时的后台操作,从而让主界面能及时响应用户的请求操作。
QThread的使用方法有如下两种:
QObject::moveToThread()
继承QThread类

二、演示线程

2.1 如何创建线程
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
默认情况,我们新建的类(除少部分外),不支持信号与槽
在class中添加一个Q_OBJECT
在这里插入图片描述
左边的类不支持信号与槽;需要手动添加 Q_OBJECT
继承QThread类的线程框架:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值