预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN114741209A(43)申请公布日2022.07.12(21)申请号202210395096.0(22)申请日2022.04.15(71)申请人北京沃东天骏信息技术有限公司地址100176北京市北京经济技术开发区科创十一街18号院2号楼4层A402室申请人北京京东世纪贸易有限公司(72)发明人王中文(74)专利代理机构中原信达知识产权代理有限责任公司11219专利代理师郝红玉张春晓(51)Int.Cl.G06F9/52(2006.01)G06F9/448(2018.01)权利要求书2页说明书8页附图4页(54)发明名称一种单例处理方法和装置(57)摘要本发明公开了一种单例处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:响应于对获取单例的程序的调用操作,根据调用操作中的类名,查询单例管理者中是否存在相应的单例对象;若查询结果为存在,则将单例对象作为调用操作结果并返回;若查询结果为不存在,则使用加锁的方式,通过类名创建单例对象,将创建的单例对象作为调用操作结果进行返回,以及将类名和创建的单例对象以键值对的形式存储至单例管理者。该实施方式通过设置单例管理者,通过线程加锁的方式对单例进行读写操作,避免频繁使用dispatch_once方式造成的线程死锁问题,全局只有一份创建单例的代码,并且提供了移除单例的程序,使得开发者使用更加方便快捷。CN114741209ACN114741209A权利要求书1/2页1.一种单例处理方法,其特征在于,包括:响应于对获取单例的程序的调用操作,根据调用操作中的类名,查询单例管理者中是否存在相应的单例对象;若查询结果为存在,则将所述单例对象作为调用操作结果并返回;或若查询结果为不存在,则使用加锁的方式,调用单例管理者的创建单例程序,以通过所述类名创建单例对象,将创建的单例对象作为调用操作结果并返回,以及将所述类名和创建的单例对象以键值对的形式存储至单例管理者。2.根据权利要求1所述的方法,其特征在于,所述使用加锁的方式,调用单例管理者的创建单例程序,以通过所述类名创建单例对象,包括:对单例管理者中用于创建单例对象的代码做加锁处理,以使得多线程的程序在同一时刻仅能通过一个线程创建单例对象;基于所述一个线程调用所述代码,以通过所述类名创建单例对象。3.根据权利要求1所述的方法,其特征在于,在所述响应于对获取单例的程序的调用操作之前,还包括:创建一个单例作为单例管理者,接收对获取单例的程序的配置操作;以及为所有类添加所述获取单例的程序。4.根据权利要求3所述的方法,其特征在于,还包括配置移除单例的程序,所述方法还包括:接收传入的待移除类名,响应于单例管理者中存在与所述待移除类型对应的单例对象,调用所述移除单例的程序,以使用加锁的方式对单例对象和所述待移除类名做移除处理。5.根据权利要求3所述的方法,其特征在于,还包括配置移除所有单例的程序,所述方法还包括:响应于对所述移除所有单例的程序的调用操作,使用加锁的方式,对单例管理者中的所有单例对象和类名做移除处理。6.一种单例处理装置,其特征在于,包括:查询模块,用于响应于对获取单例的程序的调用操作,根据调用操作中的类名,查询单例管理者中是否存在相应的单例对象;第一处理模块,用于若查询结果为存在,则将所述单例对象作为调用操作结果进行返回;第二处理模块,用于若查询结果为不存在,则使用加锁的方式,调用单例管理者的创建单例程序,以通过所述类名创建单例对象,将创建的单例对象作为调用操作结果进行返回,以及将所述类名和创建的单例对象以键值对的形式存储至单例管理者。7.根据权利要求6所述的装置,其特征在于,所述第二处理模块,用于:对单例管理者中用于创建单例对象的代码做加锁处理,以使得多线程的程序在同一时刻仅能通过一个线程创建单例对象;基于所述一个线程调用所述代码,以通过所述类名创建单例对象。8.根据权利要求6所述的装置,其特征在于,还包括配置模块,用于:创建一个单例作为单例管理者,并声明获取单例的程序;以及2CN114741209A权利要求书2/2页为所有类添加所述获取单例的程序。9.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑5中任一所述的方法。10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1‑5中任一所述的方法。3CN114741209A说明书1/8页一种单例处理方法和装置技术领域[0001]本发明涉及计算机技术领域,尤其涉及一种单例处理方法和装置。背景技术[0002]目前的单例创建方式有很多种,如单线程单例、sync