首页 > 其他分享 >QwaitCondition.的工作原理

QwaitCondition.的工作原理

时间:2024-10-30 14:43:47浏览次数:4  
标签:mutex 工作 线程 QWaitCondition 原理 QwaitCondition statFlag wait

背景: 之前 只知道个 QWaitCondition 用于同步不同的线程运行状态。但不知道为何这样做。为什么还要在QWaitcondition.wai( )中还要传入一个 QMutext 变量的指针。

QWaitCondition.wait 的工作原理:

  • QWaitCondition.wait 的工作原理:
    伪代码

Qmutex mutex;
QwaitCondition cond;
bool statFlag=false;

QmutextLocker lock(&mutex);
While(!statFlag) //A
{
cond.wait(&mutex);{ 解锁mutex //B
其他线程趁此时可以修改statFlag的值
wait()退出是 再锁定 mutex (其他线程不能修改statFlag值)

}
**

}


//C…
这样通过While循环不断的检测statFlag值 确定是否退出该while循环,以便执行 C处代码

  • 这也说明了为何用while 而不用if 来判断 statFlag 来达到阻塞当前线程的目的。如果if :假如其他线程没有修改 statFlag的值,也会导致线程继续执行下去。而不会达到阻塞的目的

标签:mutex,工作,线程,QWaitCondition,原理,QwaitCondition,statFlag,wait
From: https://www.cnblogs.com/keleman/p/18515509

相关文章

  • USB协议详解第28讲(USB硬件设计和热拔插原理)
    1.USB引脚接线定义对于四线制的USB,即USB1.0、USB1.1和USB2.0,USB硬件接口有4根接线,如下图。引脚名称电缆颜色描述1VBUSRed+5V,电源2D−WhiteData−,数据线3D+GreenData+,数据线4GNDBlackGround,接地2.低速USB设备硬件设计原理低速设备端在*D......
  • 计算机网络(Ⅵ)应用层原理
    一些网络应用的例子:E-mail     Internaet电话Web      电子支付文本信息   搜索P2P文件共享流媒体即时通讯   实时电视会议........ 创建一个网络应用:1.编程2.在不同的端系统上运行。网络应用的体系架构可能的应用架构1.......
  • 程序员必看!AI如何助你工作开挂!
    现如今,国内的AI工具是越来越多了,它们正以惊人的速度发展壮大,它们不仅改变了我们的工作方式和生活方式,还为我们带来了更加便捷、高效、智能的未来生活体验。程序员作为科技的筑梦师,正站在时代的风口浪尖上,如果AI能有效地更快地解决大问题,那它将在未来有无限可能。那AI怎么来......
  • 【行云流水线】满足你对工作流编排的一切幻想~skr
    作者:京东零售顾铮流水线模型众所周知,DevOps流水线(DevOpspipeline)的本质是实现自动化工作流程,用于支持软件开发、测试和部署的连续集成、交付和部署(CI/CD)实践。它是DevOps方法论的核心组成部分,旨在加速软件交付、提高质量和实现持续改进。流水线的核心是流水线模型,是实现工作流......
  • XCVU13P板卡设计原理图:509-基于XCVU13P的4路QSFP28光纤PCIeX16收发卡
    基于XCVU13P的4路QSFP28光纤PCIeX16收发卡 一、板卡概述     基于XCVU13P的4路QSFP28光纤PCIeX16收发卡。该板卡要求符合PCIe3.0标准,包含一片XCVU13P-2FLGA2014I、4组64-bit/8GBDDR4;4路QSFP284X光纤,每路光纤支持4X25Gbps,双向;支持32路IO。板卡工作温度范围0到60℃,板......
  • 研究生如何利用 ChatGPT 帮助开展日常科研工作
    研究生可以利用ChatGPT帮助开展日常科研工作:1.文献综述与资料查找;2.论文写作与润色;3.问题解答与研究思路拓展;4.实验设计与数据分析;5.科研计划和进度管理;6.学术交流和论文审阅。研究生常常需要面对海量文献,ChatGPT可以成为文献综述的得力助手。1.文献综述与资料查找......
  • openssl enc内部算法实现原理
    我们都知道使用命令openssl时可以使用-enc指定算法,那么具体它的实现原理是什么呢?我们通过实验来一探究竟我们新建一个my.txt里面的内容为12345678opensslenc-aes-128-cbc-inmy.txt-outmy.enc-k"mypasswd"结果会生成my.enc文件,我们用xxd命令可以看到那么这个文件是如......
  • 工作牌佩戴监测识别系统
    工作牌佩戴监测识别系统充分利用了工厂现场已有的摄像头设备,无需额外的硬件投入。工作牌佩戴监测识别系统采用AI视频智能分析算法,实时对监控区域内的工作人员进行识别和检测。系统可以准确识别出人员是否佩戴了工作牌,并判断其是否符合要求。工作牌佩戴监测识别系统一旦监测到进入......
  • 强化学习的数学原理-07时序差分方法
    目录引入TDlearingofstatevaluesTDlearingofactionvaluesSarsaTDlearingofactionvaluesExpectedSarsaTDlearingofactionvaluesn-stepSarsaTDlearingofoptimalactionvalues:Q-learningaunifiedpointofview引入这三个例子是层层递进的,都可以用\(R......
  • 0基础读顶会论文—面向应用的云工作负载预测:调查和新视角
    原文链接Abstract准确的工作负载预测对于云用户和提供商来说非常有价值,因为它可以有效指导许多实践,例如性能保证、降低成本和能耗优化。然而,由于工作负载的复杂性和动态性,云工作负载预测非常具有挑战性,并且已经提出了各种解决方案来增强预测行为,与现有调查不同,我们首次从一个新......