QT信号量和槽的通俗理解

QT信号量和槽还是蛮方便的,尤其是在使用多线程的时候基本不需靠考虑锁的问题。那么,这是什么样的工作原理,使其有这么大的优点呢?

本文将一种通俗易懂的方式对其进行阐述。在解释之前,先贴一个链接:
https://www.cnblogs.com/findumars/p/5031239.html
本链接主要对connect的第五个参数连接方式做了解释和理解。

为了更通俗的理解,本文将针对队列连接(Queued Connection)和直接连接(Direct Connection) 做另外一种解读。

从字面意思来看,直接连接就是在本线程直接调用的意思。队列连接就是以类似消息队列的方式进行槽函数的调用,类似于:客户端通过消息的方式通知服务端,服务端则读取消息队列并按顺序执行对应的槽函数。发送消息的接口emit只是一个发送接口而已,不可能有共享数据的问题;槽函数的执行是按事件的先后顺序执行。因此,整个框架和具体工作流程不需要考虑锁的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值