[C/C++]使用函数调用模拟模块间消息交互

C++中的一种模块交互机制:
之前使用的是消息交互,采用消息队列的方式,按照任务进行分配,同一个任务应该使用一个线程。在C++中一些小的组件之间的交互的话,其实只需要使用函数调用就可以了,具体方法:

  • ①通过全局变量(静态变量获取到对应对象的地址),
  • ②调用预先定义好的一些接口(类似于发了一个消息给那个组件,然后那个组件处理,现在就是省掉了发消息的流程,组件直接处理了)(这个相当于是发送)那么如何接收返回消息?
  • ③就是在②的过程中定义一个函数指针入参,来指明一个回调函数。这样的话那个组件逻辑中可以写成处理完毕后,调用回调函数,传入调用结果就可以了。这种机制是比较简单的组件之间的常用的低成本的调用方式。有一个好处是由于是一个线程中的调用,所以,没有调用完毕(消息没有处理完毕),当前发消息的线程是不能做其他操作的。省掉了等待,异常处理的过程(因为中间不能做任何其他操作)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值