基于同步槽的对象处理方法及相关产品技术

技术编号:30140037 阅读:25 留言:0更新日期:2021-09-23 15:00
本申请实施例公开了一种基于同步槽的对象处理方法及相关产品,方法包括:响应于第一线程对于取同步槽的访问,根据第一线程确定预设队列集中包括的第一对象;响应于第二线程对于还同步槽的访问,确定第二线程持有的第二对象,将第二对象存储在预设队列集中。采用本申请实施例可实现多线程的动态访问,有利于提高对象的利用率。对象的利用率。对象的利用率。

【技术实现步骤摘要】
基于同步槽的对象处理方法及相关产品


[0001]本申请涉及数据处理
,具体涉及一种基于同步槽的对象处理方法及相关产品。

技术介绍

[0002]对象池可用于存储一定数量以及创建好的对象,具体可将对象存储于该对象池中以备下次使用。目前,可为对象池绑定线程,不同的线程对应有不同的对象池,可根据线程实现对对象的获取或者存储;但是针对上述方法,在多线程运行情况下,对象可能会在不同线程中移动,并且,在为对象池绑定线程以后,该对象池只能被该线程访问或者使用,会导致某一个对象池越来越大。因此,亟需一种方法能够有效解决上述问题。

技术实现思路

[0003]本申请实施例提供了一种基于同步槽的对象处理方法及相关产品,可实现多线程的动态访问,从而保证在高并发环境下,对于对象使用或者返还的有条不紊,有利于减轻对象池的压力,以防止某一队列占用内存越来越大的情况,从而,有利于提高对象的利用率。
[0004]第一方面,本申请实施例提供一种基于同步槽的对象处理方法,应用于基于同步槽的对象处理系统,所述系统包括取同步槽、还同步槽和预设队列集,其中,所述预设队列集包括多个队列,所述取同步槽和/或所述还同步槽用于索引所述预设队列集中的队列;所述方法包括:
[0005]响应于第一线程对于所述取同步槽的访问,根据所述第一线程确定预设队列集中包括的第一对象;
[0006]响应于第二线程对于所述还同步槽的访问,确定所述第二线程持有的第二对象,将所述第二对象存储在所述预设队列集中。
[0007]第二方面,本申请实施例提供一种基于同步槽的对象处理装置,所述装置应用于基于同步槽的对象处理系统,所述系统包括取同步槽、还同步槽和预设队列集,其中,所述预设队列集包括多个队列,所述取同步槽和/或所述还同步槽用于索引所述预设队列集中的队列;所述装置包括:确定单元和存储单元,其中,
[0008]所述确定单元,用于响应于第一线程对于所述取同步槽的访问,根据所述第一线程确定预设队列集中包括的第一对象;
[0009]所述存储单元,用于响应于第二线程对于所述还同步槽的访问,确定所述第二线程持有的第二对象,将所述第二对象存储在所述预设队列集中。
[0010]第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
[0011]第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如
本申请实施例第一方面任一方法中所描述的部分或全部步骤。
[0012]第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
[0013]可以看出,本申请实施例中所描述的基于同步槽的对象处理方法,应用于基于同步槽的对象处理系统,该系统包括取同步槽、还同步槽和预设队列集,其中,预设队列集包括多个队列,取同步槽和/或还同步槽用于索引预设队列集中的队列;取同步槽,用于响应于第一线程对于取同步槽的访问,根据第一线程确定预设队列集中包括的第一对象;还同步槽,用于响应于第二线程对于还同步槽的访问,确定第二线程持有的第二对象,将第二对象存储在预设队列集中。如此,可根据取同步槽和还同步槽,索引到不用线程对应的队列中,通过多线程的访问实现对于对象的取用和存储;可实现多线程的动态访问,从而保证在高并发环境下,对于对象使用或者返还的有条不紊,有利于减轻队列的压力,以防止某一队列占用内存越来越大的情况,从而,有利于减轻对象池压力,有利于提高对象的利用率。
附图说明
[0014]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015]图1A是本申请实施例提供的一种基于同步槽的对象处理系统的架构示意图;
[0016]图1B是本申请实施例提供的一种基于同步槽的对象处理系统的结构示意图;
[0017]图2A是本申请实施例提供的一种基于同步槽的对象处理方法的流程示意图;
[0018]图2B是本申请实施例提供的一种同步槽的结构示意图;
[0019]图2C是本申请实施例提供的一种基于同步槽的对象处理方法的场景示意图;
[0020]图2D是本申请实施例提供的一种基于同步槽的对象处理方法的场景示意图;
[0021]图2E是本申请实施例提供的一种基于同步槽的对象处理方法的场景示意图;
[0022]图2F是本申请实施例提供的一种基于同步槽的对象处理方法的场景示意图;
[0023]图2G是本申请实施例提供的一种基于同步槽的对象处理方法的场景示意图;
[0024]图3是本申请实施例提供的一种电子设备的功能单元组成框图;
[0025]图4A是本申请实施例提供的一种基于同步槽的对象处理装置的功能单元组成框图;
[0026]图4B是本申请实施例提供的一种基于同步槽的对象处理装置的功能单元组成框图;
[0027]图4C是本申请实施例提供的一种基于同步槽的对象处理装置的功能单元组成框图。
具体实施方式
[0028]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的
附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0029]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0030]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0031]1)对象,可指面向对象语言中类的实例。
[0032]2)对象池,对象的存储地本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于同步槽的对象处理方法,其特征在于,所述方法应用于基于同步槽的对象处理系统,所述系统包括取同步槽、还同步槽和预设队列集,其中,所述预设队列集包括多个队列,所述取同步槽和/或所述还同步槽用于索引所述预设队列集中的队列;所述方法包括:响应于第一线程对于所述取同步槽的访问,根据所述第一线程确定所述预设队列集中包括的第一对象;响应于第二线程对于所述还同步槽的访问,确定所述第二线程持有的第二对象,将所述第二对象存储在所述预设队列集中。2.根据权利要求1所述的方法,其特征在于,所述第一线程与所述第二线程相同或不同。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一线程确定所述预设队列集中包括的第一对象,包括:以预设方式返回第一索引值;从所述预设队列集中确定所述第一索引值对应的队列为第一队列;从所述第一队列的队首确定所述第一对象。4.根据权利要求3所述的方法,其特征在于,在所述根据第一线程确定第一队列中包括的第一对象之后,所述方法还包括:判断所述第一对象是否为空;若所述第一对象为空,则重新创建所述第一队列对应的对象为目标对象,并返回所述目标对象于所述第一线程;若所述第一对象不为空,则返回所述第一对象于所述第一线程。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:确定所述取同步槽的长度;在返回所述第一索引值之后,根据所述取同步槽的长度,更新所述第一索引值。6.根据权利要求5所述的方法,其特征在于,所述根据所述同步槽的长度,更新所述第一索引值,包括:若在返回所述第一索引值之前,确定所述第一索引值为所述取同步槽中最后一个元素对应的索引值,则在返回所述第一索引值之后,更新所述第一索引值为所述取同...

【专利技术属性】
技术研发人员:甘建旋
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1