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

最好的素材网站百度一下首页百度

最好的素材网站,百度一下首页百度,南宫企业做网站,海口网站建设就q479185700上墙qt的多线程开发 一、并发、并行的概念: 1. 并发:多个任务在同一时间段内交替执行(可能共享同一资源),但不一定同时发生。 核心思想:通过快速切换任务(例如时间片轮转)模拟“同时进…

qt的多线程开发

一、并发、并行的概念:

1. 并发:多个任务在同一时间段内交替执行(可能共享同一资源),但不一定同时发生。

核心思想:通过快速切换任务(例如时间片轮转)模拟“同时进行”的效果。

适用场景:单核 CPU 处理多个线程。 I/O 密集型任务(例如同时处理多个网络请求)。

例子:一个人边吃饭边回消息:两种行为交替进行,但同一时刻只做一件事。单核 CPU 通过线程切换运行多个程序。

2. 并行:多个任务真正同时执行,通常依赖多核 CPU 或多台机器。

核心思想:利用物理上的多处理器资源,实现任务的实际并行。

适用场景:多核 CPU 同时运行多个线程。计算密集型任务(例如大规模矩阵运算)。

例子:多个人同时完成不同的工作:每个人独立执行任务。GPU 并行处理图像渲染的多个像素计算。

二、qt的多线程开发

多线程开发:可以近似于同时做事

1、单线程测试例子:

2、问题:程序未响应:

3、主函数内的exec函数概念

exec调用会开启主事件的循环(主线程)

while(1)

{

接受信号——>执行槽函数

接受事件——>执行事件响应

exit(num); //num是程序的返回值

}

可能在接受某个信号时被阻塞住了,不能接受其他事件了,比如刚打开项目就无响应,可能是连接服务器时ip地址写错了,或者连不上服务器

4、改为使用多线程

返回值是一个句柄 _CRTIMP uintptr_t __cdecl _beginthreadex(

void *_Security, //安全级别 可以为空

unsigned _StackSize, //默认栈大小 可以为空

unsigned (__stdcall *_StartAddress) (void *), //函数指针 类外的普通函数

void *_ArgList, //参数列表

unsigned _InitFlag, //挂起还是直接执行

unsigned *_ThrdAddr); //获取id,通过这个获取

改为:

  1. qt信号槽 使用的时候需要注意什么

connect参数:发送对象地址,发送的信号,接收者对象地址,处理槽函数地址,

connect函数的第五个参数:

如果connect函数写了两遍,会导致槽函数执行两遍,如果加上第五个参数,就可以保证只执行一遍

发送信号的对象:必须是Q_OBJECT的子类,类的定义中,必须包含Q_OBJECT宏

  1. 在自己创建的线程里处理主线程内的空间

给ui创建一个getUi方法

pb_test是在主线程内创建的,在自己定义的线程内将其隐藏,会触发隐藏事件,事件循环会出错

因此这里应该发信号,让主线程内的槽函数执行,而不是直接调用界面,更新界面

  1. 因此可以使用Qt内的方式开发,这样会更简洁和方便

Qt多线程开发方法:

(1)可以使用QTthread 创建线程 来执行线程函数

QThread的使用:

[1]头文件

[2]重写这个类:为了可以使用信号槽函数机制,需要加宏 

[3]线程函数void run();  看似没有参数,不过可以通过给属性赋值完成传参

run()函数:

1.是线程函数执行的入口,通过start开启执行这个run函数

2.当线程对象创建时,线程就已经存在了,只是不知道什么时候开始执行

3.直到start时,线程开始执行

4.如果run()没有返回还在执行,调用start什么也不做

[4]线程函数的执行,需要调用start()函数执行

定义对象:

添加声明:

输出线程id:

总结:

(2)可以借助moveToThread将对象转移到另一个线程中,然后执行

http://www.dtcms.com/wzjs/506835.html

相关文章:

  • 深圳网站建设外贸公司排名抖音seo搜索引擎优化
  • 创客贴网站建设今日深圳新闻最新消息
  • 找人做seo要给网站程序国家卫生健康委
  • 国家医保服务平台台州seo优化公司
  • 漳州网站建设公司广州推动优化防控措施落地
  • 免费b站有哪些黄冈网站推广软件费用是多少
  • 武汉网站建设招聘客服营销策略是什么意思
  • 欧美动物人物ppt免费模板下载网站外链代发免费
  • 网站专题栏目策划方案怎么把抖音关键词做上去
  • java 做的网站厨师培训学校
  • 排名优化网站建设广告投放数据分析
  • 邢台建设规划网站2020国内十大小说网站排名
  • cpa单页网站怎么做北京官网优化公司
  • 商丘疫情公司搜索seo
  • 网站建设课程设计网站 seo
  • 做ic什么网站好91手机用哪个浏览器
  • 电子商务网站按其实现的技术可分为辅导班
  • 做淘宝客网站教程网站流量查询服务平台
  • 做的比较好的企业网站太原网站建设谁家好
  • 成都上市的网站建设公司福建seo搜索引擎优化
  • 本地企业网站建设服务网站创建免费用户
  • wordpress div属性长沙seo智优营家
  • 做网站常用代码百度下载官方下载安装
  • 宿迁网站优化网络优化工程师需要学什么
  • 找素材去哪个网站群排名优化软件
  • 怎么做vip网站百度一下手机版首页
  • 百度收录的网站深圳网络推广有几种方法
  • python做网站的书网络营销师报名入口
  • 平台网站开发多少钱软文推广收费
  • 20m带宽做网站够用吗重庆seo的薪酬水平