[发明专利]进程间通信方法、装置及存储介质有效
申请号: | 201911304874.5 | 申请日: | 2019-12-17 |
公开(公告)号: | CN111158927B | 公开(公告)日: | 2023-10-24 |
发明(设计)人: | 陈燮民;黄真明;吴群;周昆 | 申请(专利权)人: | 科大讯飞股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙) 44280 | 代理人: | 黎坚怡 |
地址: | 230088 安徽省*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 通信 方法 装置 存储 介质 | ||
本发明公开了一种进程间通信方法、装置及存储介质。该进程间通信方法包括:利用读对象打开共享内存流并获取共享内存流的写入指针,共享内存流用于流式存储数据包,写入指针用于指示第一数据包的位置并且在完成第一数据包的写入后更新,第一数据包为最后一次向共享内存流写入的数据包;利用读对象比较读对象的当前读指针与写入指针,当前读指针用于指示第二数据包的位置,第二数据包为利用读对象最后一次从共享内存流中读取的数据包;若比较结果表示第一数据包在第二数据包之后,则利用读对象从共享内存流中读取第二数据包之后的数据包并更新当前读指针。通过上述方式,本发明能够减少进程间通信的延时。
技术领域
本申请涉及计算机领域,特别是涉及一种进程间通信方法、装置及存储介质。
背景技术
在多进程系统中,不同进程之间的相互通信需要使用进程间通信机制。常见的进程间通信机制有共享内存等。
共享内存是一种简单快速的进程间通信机制,然而为了保证共享内存中数据的准确性,需要选择合适的同步机制以协调进程间的执行顺序。常见的进程间同步机制有互斥锁、自旋锁等。
这些同步机制中读操作和写操作是互斥的,也就是说,若有进程正在向共享内存写入数据,其他进程必须等到写入完成后才能进行读取操作,反之亦然。同步机制引入的可能的等待时间给进程间通信带来了延时,影响了进程间通信的效率。
发明内容
本申请提供一种进程间通信方法、装置及存储介质,能够解决现有技术中的同步机制影响进程间通信效率的问题。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种进程间通信方法,该进程间通信方法包括:利用读对象打开共享内存流并获取共享内存流的写入指针,共享内存流用于流式存储数据包,写入指针用于指示第一数据包的位置并且在完成第一数据包的写入后更新,第一数据包为最后一次向共享内存流写入的数据包;利用读对象比较读对象的当前读指针与写入指针,当前读指针用于指示第二数据包的位置,第二数据包为利用读对象最后一次从共享内存流中读取的数据包;若比较结果表示第一数据包在第二数据包之后,则利用读对象从共享内存流中读取第二数据包之后的数据包并更新当前读指针。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种进程间通信装置,该进程间通信装置包括处理器,处理器用于执行指令以实现前述的方法。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种存储介质,存储有指令,指令被执行时实现前述的方法。
本申请的有益效果是:通过利用读对象打开共享内存流并获取共享内存流的写入指针,共享内存流用于流式存储数据包,写入指针用于指示第一数据包的位置并且在完成第一数据包的写入后更新,第一数据包为最后一次向共享内存流写入的数据包;利用读对象比较读对象的当前读指针与写入指针,当前读指针用于指示第二数据包的位置,第二数据包为利用读对象最后一次从共享内存流中读取的数据包;若比较结果表示第一数据包在第二数据包之后,则利用读对象从共享内存流中读取第二数据包之后的数据包并更新当前读指针。读对象通过比较当前读指针和写入指针,可以从共享内存流中读取未读的已完成写入的数据包。
由于共享内存流是流式存储,即第n+1个数据包接在第n个数据包之后存储,n为正整数,在读对象进行读取的过程中,写对象可以继续向共享内存流写入新的数据包而不会影响当读对象读取已经完成写入的数据包,同时由于写入过程中写入指针仍未更新,读对象也不会读取正在写入的数据包,对共享内存流的读操作和写操作可以同时进行而不会互相影响,无需在读写操作之间引入互斥的机制,读对象和写对象不需要等待对方的操作完成,缩短了进程间通信的延时,提高了进程间通信的效率。
附图说明
图1是本发明进程间通信方法第一实施例的流程示意图;
图2是图1中S11的具体流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科大讯飞股份有限公司,未经科大讯飞股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911304874.5/2.html,转载请声明来源钻瓜专利网。