微信开发商成都网站seo外包

web/2025/10/5 22:28:38/文章来源:
微信开发商,成都网站seo外包,旅游网站建设启动方案,完美动力培训机构目录 1. 问题现象 2. 原因分析 3. 解决方法 1. 问题现象 因为业务需求#xff0c;需要利用子线程向主线程发送数据。像这种子线程和主线程进行数据交互时#xff0c;一般都是通过Qt的信号槽机制来实现。如下代码#xff1a; void myClass::doBusiness() {…目录 1. 问题现象        2. 原因分析 3. 解决方法 1. 问题现象        因为业务需求需要利用子线程向主线程发送数据。像这种子线程和主线程进行数据交互时一般都是通过Qt的信号槽机制来实现。如下代码 void myClass::doBusiness() {...... // 其它代码略connect(this, myClass::mySignal, m_pBusiness, CMyBusiness::processBusiness);// 开启业务数据线程auto pDataThread new std::thread(myClass::dataThreadFun, this);...... // 其它代码略}// 数据线程函数 void myClass::dataThreadFun() {// 无限循环一直处理业务while (true){...... // 其它代码略char* p data; // data数据在while的每轮循环中都会被更改emit mySignal(p);} }// 业务处理类位于主线程 void CMyBusiness::processBusiness(char* pData) {// 取出pData做一些处理 } 其中m_pBusiness为CMyBusiness类对象在线程函数dataThreadFun中的以参数p发送信号mySignal以让CMyBusiness类的processBusiness(char* pData)得以执行但测试发现在processBusiness函数中参数pData和mySignal信号发送过来的数据不一样数据被更改了。 2. 原因分析 问题的原因是第5行connect信号槽时采用默认连接方式即Qt::AutoConnection方式Qt官方对该方式的说明如下 (Default) If the receiver lives in the thread that emits the signal, Qt::DirectConnection is used. Otherwise, Qt::QueuedConnection is used. The connection type is determined when the signal is emitted. 即如果接收信号的对象和发送信号的对象位于同一个线程则采取Qt::DirectConnection连接否则就采取Qt::QueuedConnection方式。当信号被发送时Qt会探测以决定采取Qt::DirectConnection连接方式还是采取Qt::QueuedConnection连接方式。 对上面的代码段CMyBusiness即为接收信号的对象m_pBusiness位于主线程发送信号对象位于子线程根据上面的说明所以第5行的connect采取的是Qt::QueuedConnection连接类型。而Qt对Qt::QueuedConnection的解释如下 The slot is invoked when control returns to the event loop of the receivers thread. The slot is executed in the receivers thread. 意思是说当控制返回接收对象的事件循环时槽函数才会被执行槽函数是在接收者所在线程执行的 。也就说Qt::QueuedConnection连接模式就是把信号类似事件放到接收者的事件队列中仅仅只是放入但不是立即执行而是等循环到该信号事件时才执行这就会和上面代码的dataThreadFun表示的子线程产生一个时间差就是在这个时间内数据被更改了其是通过上面代码的22行更改的。 3. 解决方法 解决该问题的方法是上面第5行的connect函数最后一个参数不要采用默认的Qt::AutoConnection连接方式而是采用Qt::BlockingQueuedConnection连接方式。Qt官方对Qt::BlockingQueuedConnection解释如下 Same as Qt::QueuedConnection, except that the signalling thread blocks until the slot returns. This connection must not be used if the receiver lives in the signalling thread, or else the application will deadlock. 意思是说同Qt::QueuedConnection类似唯一不同的是发送信号的线程将会一直阻塞直到接收信号的槽函数执行后才继续往下执行。这种连接方式不能用于接收信号的对象和发送信号对象都在同一个线程的情况否则会引起死锁。 采取Qt::QueuedConnection连接方式后上面的子线程dataThreadFun在发送信号后会阻塞直到CMyBusiness类的processBusiness函数执行后才继续往下执行所以数据就不会被更改。 Qt::BlockingQueuedConnection连接方式不能用于接收信号的对象和发送信号对象都在同一个线程的情况否则会引起死锁这很好理解如果位于同一线程就会造成你等我我也等你大家相互等待对方执行完后再执行就会造成死锁。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何跳过网站会员沈阳市住房和城乡建设厅网站

曾经在我的一篇《控制面板的创建》中介绍过WinCE控制面板的结构,不过由于那篇文章其目的只在于控制面板如何调用EXE程序,故对控制面板也仅是泛泛而谈.不过在这篇文章中,我们将对WinCE的使用方法来个整体的详解. 1.控制面板的结构 控制面板其实也是个动态链接库…

手机端视频网站模板什么是网络营销中的终极诉求

1、演示 2、水印的目的 版权保护:水印可以在图片、文档或视频中嵌入作者、品牌或版权所有者的信息,以防止未经授权的复制、传播或使用。当其他人使用带有水印的内容时,可以追溯到原始作者或版权所有者,从而加强版权保护。 身份识…

asp网站加速网站增加外链的方法有哪些

SD3303A是一款大功率高亮度LED驱动芯片,可以提供 1A的电流驱动3W的LED。具有高效率,低功耗等特点 ,适用于电池供电的LED照明设备。 SD3303A具有开路保护和过温保护。 SD3303A需要使用两颗10uF(或者更大)的瓷 片电容,来保证电路性能…

3g 手机网站电子商务网站建设有哪些知识点

1.关闭在线DRC功能,可以避免布线时候一卡一卡的问题: 取消在线DRC的勾选: 2.AD的在线封装库,非常好用: 如何优雅地服用AD 21的在线元件库 – 吴川斌的博客 (mr-wu.cn) 3.如何恢复Altium Designer23默认窗口布局 打开…

冠县住房和城乡建设局网站淘宝客建站教程

SpringCloud Ribbon中的7种负载均衡策略 Ribbon 介绍负载均衡设置7种负载均衡策略1.轮询策略2.权重策略3.随机策略4.最小连接数策略5.重试策略6.可用性敏感策略7.区域敏感策略 总结 负载均衡通器常有两种实现手段,一种是服务端负载均衡器,另一种是客户端…

营销型网站建设策划案wix网站建设

1、typescript的基础类型 如下表: 数据类型 关键字 描述 任意类型 any 生命any的变量可以赋值任意类型的值 数字类型 number 整数或分数 字符串类型 string 使用单引号(‘’)或者双引号(“”)来表示字符串…

百度搜索网站提交网站建设 模块

相信大多数人在学习单片机的时候,都是从最基本的8位MCU开始的。一般来说,8位单片机最常见的是三个系列是:51系列、AVR系列、PIC系列。而前段时间,群里讨论了一个问题:在51单片机上跑RTOS有没有意义?关于这个…

天台县建设局官方网站网站建设免费域名

在现今的数字时代,我们的生活离不开互联网。我们使用在线平台进行银行交易、购物、社交媒体互动和其他各种活动。为了保护个人隐私和账号安全,我们需要寻找一种安全且方便的方式来管理我们的在线账号。MuLogin指纹浏览器正是为了满足这些需求而设计的一款…

学做陶艺作品的网站wordpress批量更新文章

5G时代到来,物联网技术的应用也离我们越来越近。智慧交通、智能家庭、智慧园区,越来越多的融入到我们的生活当中。作为物联网重要技术组成的嵌入式系统,嵌入式系统视角有助于深刻地、全面地理解物联网的本质。而物联网是通用计算机的互联网与…

静态网站源码北京软件app开发公司

引言 MistralAI,一家法国的初创企业,近期在AI界引发了轰动,刚刚发布了全球首个基于MoE(Mixture of Experts,混合专家)技术的大型语言模型——Mistral-8x7B-MoE。这一里程碑事件标志着AI技术的一个重要突破…

乔拓云网站建设新网站秒收录技术

unordered_map与unordered_set的实现 文章目录 unordered_map与unordered_set的实现前言一、问题一HashTable.h 二、问题二&问题三1.封装时如何取出key2.不同类型key如何建立对应关系 三、问题四&问题五问题四问题五 四、实现代码MyUnorderedSet.hMyUnorderedMap.hHash…

浙江耀华建设集团网站企业网站建设制作设计哪家最专业

StarRocks 于 4 月底正式发布了 3.0 版本,该里程碑版本带来了大家期盼已久的新特性--存算分离。此新功能一推出,立即受到社区热情追捧,用户纷纷开始在自己的业务中评估和测试存算分离效果。从芒果TV、聚水潭、网易邮箱、浪潮、天道金科等数十…

西安手机网站建设动力无限长沙短视频公司

项目右侧的Maven依赖Dependencies突然消失,项目中的注解都出现报错,出现这种情况应该是因为IDEA版本早于maven版本,重新检查项目中的Maven路径,选择File->Settings->搜索Maven,检查Maven home directory&#xf…

网站支付怎么做中国软件100强企业

自上周怒辞职以后,就開始苦逼的各种面试生涯,生活全然靠私活来接济,时有时没有,真难。还能快乐的玩耍吗。最多一天面试了5家,哎感觉都是不急招人,各种等待通知。好不easy等来一家。还克扣了薪资&#xff0c…

适合公司建设的网站网页棋牌搭建

1前言大家好,我是若川。最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 参与,已进行三个月了,大家一起交流学习,共同进步。想学源码,极力推荐之前我写的《学习源码整体架构系列》 包含jQuery、un…

国外注册域名的网站晚上偷偷奖励自己的软件

在经济飞速发展的今天,企业面临着客户需求多样化、质量和交期要求提高以及激烈的市场竞争等挑战。在这样的背景下,许多企业开始考虑采用数字化仓储WMS系统来解决这些问题。 数字化仓储WMS系统通过打造高效、规范的仓库管理体系,实现了对产品…

ps如何做ppt模板下载网站网站建设yuanmus

前几天在书写TypeScript代码时,出现了声明变量报错的情况,具体情况如下: let arr: number; arr 10; console.log(arr);报错如下: 解决方案: 在配置文件tsconfig.json中,配置如下代码: { &q…

哪个网站可以做视频外链wordpress扁平化中文主题

死锁(Deadlock)是指两个或多个进程在执行过程中因争夺资源而造成的一种互相等待的现象 死锁通常发生在多任务系统中,其中进程通过竞争有限的资源来完成任务 死锁通常涉及互斥、持有和等待三个条件。 死锁的原因 互斥条件(Mutual…