[发明专利]单例方法的跨进程调用方法、装置、设备及存储介质在审
申请号: | 201910020180.2 | 申请日: | 2019-01-09 |
公开(公告)号: | CN109739666A | 公开(公告)日: | 2019-05-10 |
发明(设计)人: | 李武军 | 申请(专利权)人: | 广州虎牙信息科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 511400 广东省广州市番禺区南村镇万博二*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调用 进程调用 代理对象 进程 存储介质 单例模式 动态代理 感知 | ||
本发明实施例公开了一种单例方法的跨进程调用方法、装置、设备及存储介质。其中,方法包括:调用进程通过动态代理,模拟与被调用进程相同的代理对象;所述调用进程通过代理对象调用所述被调用进程中的单例方法。本发明实施例中,由于代理对象与被调用进程相同,让系统误以为是被调用进程在调用单例方法,并不会感知到单例被其它进程调用,不影响单例模式的运行,从而巧妙实现单例方法的跨进程调用。
技术领域
本发明实施例涉及通信技术,尤其涉及一种单例方法的跨进程调用方法、装置、设备及存储介质。
背景技术
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,一个类只有一个对象实例。许多时候,整个系统只需要拥有一个的全局对象即可,有利于协调系统整体的行为。
但是,单例设计模式有局限:只能在一个进程内生效,但项目开发中又难免会出现开启多个进程的情况。然而,现有的单例设计模式不支持跨进程调用,即其它进程不能调用本进程中的单例方法,降低了开发效率。
发明内容
本发明实施例提供一种单例方法的跨进程调用方法、装置、设备及存储介质,以实现单例方法的跨进程调用。
第一方面,本发明实施例提供了一种单例方法的跨进程调用方法,包括:
调用进程通过动态代理,模拟与被调用进程相同的代理对象;
所述调用进程通过代理对象调用所述被调用进程中的单例方法。
第二方面,本发明实施例还提供了一种单例方法的跨进程调用装置,应用于调用进程,包括:
模拟模块,用于通过动态代理,模拟与被调用进程相同的代理对象;
调用模块,用于通过代理对象调用所述被调用进程中的单例方法。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现任一实施例所述的单例方法的跨进程调用方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如任一实施例所述的单例方法的跨进程调用方法。
本发明实施例中,通过动态代理模拟与被调用进程相同的代理对象,并通过代理对象调用单例方法,而正是由于代理对象与被调用进程相同,让系统误以为是被调用进程在调用单例方法,并不会感知到单例被其它进程调用,不影响单例模式的运行,从而巧妙实现单例方法的跨进程调用。
附图说明
图1是本发明实施例一提供的一种单例方法的跨进程调用方法的流程图;
图2a是本发明实施例二提供的一种单例方法的跨进程调用方法的流程图;
图2b是本发明实施例二提供的一种通过Binder连接池进行进程间通信的示意图;
图3是本发明实施例三提供的一种单例方法的跨进程调用装置的结构示意图;
图4是本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州虎牙信息科技有限公司,未经广州虎牙信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910020180.2/2.html,转载请声明来源钻瓜专利网。