[发明专利]跨进程事件处理方法、装置、电子设备、存储介质及车辆在审
申请号: | 202211018251.3 | 申请日: | 2022-08-24 |
公开(公告)号: | CN115373874A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 董雷;林晓东;王柏生 | 申请(专利权)人: | 阿波罗智能技术(北京)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/52 |
代理公司: | 北京易光知识产权代理有限公司 11596 | 代理人: | 阎敏;王姗姗 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 跨进 事件 处理 方法 装置 电子设备 存储 介质 车辆 | ||
本公开提供了一种跨进程事件处理方法、装置、电子设备、存储介质及车辆,涉及计算机技术领域,尤其涉及进程间通信技术领域。具体实现方案为:在需要发送事件通知的情况下,获取进程集合的共享内存的进程锁;共享内存中包括第一对象;在成功获取进程锁的情况下,在共享内存中建立第一对象与进程子集的关联关系;基于共享内存的条件变量信号,唤醒进程集合中的处于休眠状态的多个进程,以通知处理休眠状态的多个进程中的进程子集基于第一对象获取事件通知的消息内容。本公开所提供的事件处理方法,提高了事件通知的效率解决了使用条件变量信号不能定向唤醒进程的弊端,完成了将事件通知定向传递给进程子集,提高了跨进程事件通知的效率。
技术领域
本公开涉及计算机技术领域,尤其涉及进程间通信技术领域。
背景技术
随着软件与硬件的发展,跨进程间通信越来越广泛,实现跨进程通信的方法也是层出不穷。其中,基于共享内存的跨进程通信是一种高效迅速的方法。
一种基于共享内存的跨进程通信方法为:进程A和进程B共享内存,由负责发送通知的进程A向内存写入数据,然后更新数据标识;而进程B周期性检查共享内存的数据标识,如有数据,则拷贝数据至进程空间,从而获得信息。
然而,这种跨进程通信方法仍不能满足需求,如何能够更加高效的实现跨进程通信仍需解决。
发明内容
本公开提供了一种用于跨进程事件处理的方法、装置、设备、存储介质及车辆。
根据本公开的一方面,提供了一种跨进程事件处理方法,包括:
在需要发送事件通知的情况下,获取进程集合的共享内存的进程锁;共享内存中包括第一对象;
在成功获取进程锁的情况下,在共享内存中建立第一对象与进程子集的关联关系;
基于共享内存的条件变量信号,唤醒进程集合中的处于休眠状态的多个进程,以通知处理休眠状态的多个进程中的进程子集基于第一对象获取事件通知的消息内容。
根据本公开的另一方面,提供了一种跨进程事件处理装置,包括:
第一获取模块,用于在需要发送事件通知的情况下,获取进程集合的共享内存的进程锁;共享内存中包括第一对象;
关联模块,用于在成功获取进程锁的情况下,在共享内存中建立第一对象与进程子集的关联关系;
通知模块,用于基于共享内存的条件变量信号,唤醒进程集合中的处于休眠状态的多个进程,以通知处理休眠状态的多个进程中的进程子集基于第一对象获取事件通知的消息内容。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开中任一实施例的方法。
根据本公开的另一方面,提供了一种车辆,包括上述的电子设备。
本公开所提供的事件处理方法,降低了周期性访问共享内存带来的资源消耗,提高了事件通知的效率解决了使用条件变量信号不能定向唤醒进程的弊端,完成了将事件通知定向传递给进程子集,即传递给指定一个其他进程,由此提高了跨进程事件通知的效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿波罗智能技术(北京)有限公司,未经阿波罗智能技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211018251.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于自动侦测的设计变更处理系统及其方法
- 下一篇:开源组件的分析方法和装置