一种资源处理方法及装置与流程

文档序号:23753986发布日期:2021-01-29 14:56阅读:48来源:国知局
一种资源处理方法及装置与流程

[0001]
本申请涉及数据处理领域,特别是涉及一种资源处理方法及装置。


背景技术:

[0002]
可以利用池化技术来提升计算机的性能。所谓池化技术,指的是事先创建好资源并放入资源池中,当需要使用资源的时候直接从资源池中获取,避免了创建资源的消耗,从而提高效率。
[0003]
目前,池化技术可以应用于多线程编程。即多个线程均可以从该资源池中获取资源。但是,同一时刻最多只能有一个线程使用该资源池中的资源,从而使得多个线程无法同时运行,降低了并发性。


技术实现要素:

[0004]
本申请所要解决的技术问题是如何提升将池化技术应用于多线程编程时的并发性,提供一种资源处理方法及装置。
[0005]
第一方面,本申请实施例提供了一种资源处理方法,所述方法包括:
[0006]
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
[0007]
利用获取的所述资源,运行所述第一线程。
[0008]
可选的,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
[0009]
确定所述第一线程对应的独占资源池中存在资源。
[0010]
可选的,所述方法还包括:
[0011]
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
[0012]
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0013]
可选的,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
[0014]
确定所述共享资源池中存在资源。
[0015]
可选的,所述方法还包括:
[0016]
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
[0017]
利用获取的所述资源,运行所述第一线程,包括:
[0018]
利用创建的所述资源,运行所述第一线程。
[0019]
可选的,所述方法还包括:
[0020]
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
[0021]
可选的,所述方法还包括:
[0022]
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
[0023]
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0024]
第二方面,本申请实施例提供了一种资源处理装置,所述装置包括:
[0025]
获取单元,用于从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
[0026]
运行单元,用于利用获取的所述资源,运行所述第一线程。
[0027]
可选的,所述装置还包括:
[0028]
第一确定单元,用于在所述从第一线程对应的独占资源池中获取资源之前,确定所述第一线程对应的独占资源池中存在资源。
[0029]
可选的,所述装置还包括:
[0030]
锁定单元,用于在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
[0031]
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0032]
可选的,所述装置还包括:
[0033]
第二确定单元,用于在锁定共享资源池,并从所述共享资源池中获取资源之前,确定所述共享资源池中存在资源。
[0034]
可选的,所述装置还包括:
[0035]
创建单元,用于在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
[0036]
所述运行单元,用于:
[0037]
利用创建的所述资源,运行所述第一线程。
[0038]
可选的,所述装置还包括:
[0039]
第一释放单元,用于在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
[0040]
可选的,所述装置还包括:
[0041]
第二释放单元,用于在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
[0042]
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0043]
第三方面,本申请实施例提供了一种资源处理装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0044]
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
[0045]
利用获取的所述资源,运行所述第一线程。
[0046]
可选的,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
[0047]
确定所述第一线程对应的独占资源池中存在资源。
[0048]
可选的,所述操作还包括:
[0049]
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
[0050]
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0051]
可选的,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
[0052]
确定所述共享资源池中存在资源。
[0053]
可选的,所述操作还包括:
[0054]
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
[0055]
利用获取的所述资源,运行所述第一线程,包括:
[0056]
利用创建的所述资源,运行所述第一线程。
[0057]
可选的,所述操作还包括:
[0058]
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
[0059]
可选的,所述操作还包括:
[0060]
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
[0061]
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0062]
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行以上第一方面任意一项所述的方法。
[0063]
与现有技术相比,本申请实施例具有以下优点:
[0064]
本申请实施例提供了一种资源处理方法,在该方法中,不再如传统技术中那样,多个线程共享一个共享资源池,若需要运行第一线程,只有在该共享资源池未被其它线程锁定的情况下,才能从该共享资源池中获取资源,从而运行第一线程。在本申请中,各个线程可以具备对应的独占资源池,以第一线程为例,第一线程可以具备第一线程对应的独占资源池,第一线程对应的独占资源池,仅用于为第一线程提供资源,而不为其它线程提供资源。正是因为如此,除了第一线程之外,其它线程不会从第一线程对应的独占资源池中获取资源,换言之,第一线程对应的独占资源池不会如传统技术中的共享资源池那样被其它线程锁定。当需要运行第一线程时,可以直接从第一线程对应的独占资源池中获取资源,从而利用所获取的资源运行第一线程。由此可见,利用本申请实施例的方案,可以提升并发性。
附图说明
[0065]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066]
图1为本申请实施例提供的一种资源处理方法的流程示意图;
[0067]
图2为本申请实施例提供的一种资源处理装置的结构示意图;
[0068]
图3为本申请实施例提供的客户端的结构示意图;
[0069]
图4为本申请实施例提供的服务器的结构示意图。
具体实施方式
[0070]
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0071]
本申请的发明人经过研究发现,池化技术可以应用于多线程编程。在一个示例中,可以预先创建资源,并将所创建的资源放到一个共享资源池中。该共享资源池可以用于为多个线程提供资源。目前,当多个线程均从共享资源池中获取资源时,同一时刻最多只能有一个线程使用该资源池中的资源。具体地,当线程1需要从共享资源池中获取资源时,线程1首先可以锁定该共享资源池(也可以称为对该共享资源池加锁),而后,从该共享资源池中获取资源以运行线程1,当线程1运行结束之后,可以将资源释放至该共享资源池中,而后,解除对该共享资源池的锁定。当该共享资源池处于锁定状态时,其它线程无法从共享资源池中获取资源。换言之,若该共享资源池被线程1锁定,则线程2无法从该共享资源池中获取资源,线程2必须等到线程1解除对该共享资源池的锁定之后,才能从该共享资源池中获取资源以运行线程2。正是因为如此,使得多个线程无法同时运行,降低了并发性。
[0072]
为了解决上述问题,本申请实施例提供了一种资源处理方法及装置。
[0073]
下面结合附图,详细说明本申请的各种非限制性实施方式。
[0074]
示例性方法
[0075]
参见图1,该图为本申请实施例提供的一种资源处理方法的流程示意图。
[0076]
本申请实施例提供的资源处理方法,可以由具备数据处理功能的控制器或者处理器执行,也可以由包括前述控制器或者处理器的设备执行,本申请实施例不具体限定。其中,包括控制器或者处理器的设备包括但不限于终端设备以及服务器。
[0077]
在本实施例中,图1所示的资源处理方法例如可以包括以下步骤s101-s102。
[0078]
s101:从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为第一线程提供资源。
[0079]
在本申请实施例中,可以在服务的初始化阶段,为各个线程分别创建一个独占资源池。其中,服务可以包括一个或者多个业务,业务可以运行在特定的线程中。
[0080]
第一线程为所述各个线程中的任意一个线程。第一线程对应的独占资源池,仅用于为第一线程提供资源,而不为其它线程提供资源。在本申请实施例中,第一线程对应的独
占资源池中的资源,例如可以包括线程池、内存池和连接池中的其中一项或者多项。关于线程池、内存池和连接池,此处不做详细描述。
[0081]
在本申请实施例中,当需要利用第一线程运行业务时,可以从第一线程对应的独占资源池中获取资源。
[0082]
s102:利用获取的所述资源,运行所述第一线程。
[0083]
从第一线程对应的独占资源池中获取资源之后,可以利用从第一线程对应的独占资源池中获取的资源,运行所述第一线程,从而实现对某一业务的处理。
[0084]
通过以上描述可知,由于第一线程对应的独占资源池,仅用于为第一线程提供资源,而不为其它线程提供资源。因此除了第一线程之外,其它线程不会从第一线程对应的独占资源池中获取资源,换言之,第一线程对应的独占资源池不会如传统的共享资源池那样被其它线程锁定。当需要运行第一线程时,可以直接从第一线程对应的独占资源池中获取资源,从而利用所获取的资源运行第一线程。由此可见,利用本申请实施例的方案,可以提升并发性。
[0085]
在一些场景中,当业务处理完成之后,可以将处理该业务所使用的资源释放。而在业务处理过程中,可以会存在多线程互相调度,这就导致从第一线程的独占资源池中获取的资源可能会被释放至其它线程例如第二线程的独占资源池中,从而使得第一线程对应的独占资源池中的资源越来越少,甚至无资源可用。而第二线程对应的独占资源池中的资源越来越多。
[0086]
举例说明,对于用户登陆业务而言,其中涉及申请链接以验证用户名和密码是否匹配的线程1和归还所述链接的线程2。运行线程1时,从线程1对应的独占资源池中获取资源,而归还链接运行的线程为线程2,故而当验证用户名和密码是否匹配之后,进一步归还链接时,会将从线程1的独占资源池中获取的资源释放至线程2对应的独占资源池中,使得线程1对应的独占资源池中的资源减少,线程2对应的独占资源池中的资源在增多。
[0087]
正是因为如上所述,第一线程对应的独占资源池中有可能无资源可用,因此,在本申请实施例的一个示例中,在执行前述s101之前,还可以确定第一线程对应的独占资源池中是否存在资源,在确定第一线程对应的独占资源池中存在资源的情况下,再执行前述s101及后续步骤,从而实现利用第一线程的独占资源池中的资源运行第一线程。
[0088]
另外,为了使得在第一线程对应的独占资源池中没有资源的情况下,第一线程也可以正常运行。在本申请实施例中,在服务的初始化阶段,除了为各个线程分别创建一个独占资源池之外,还可以创建一个共享资源池,该共享资源池用于为多个线程提供资源,该多个线程包括前述第一线程。这样一来,在第一线程对应的独占资源池中没有资源的情况下,可以从该共享资源池中获取资源,并利用从该共享资源池中获取的资源运行第一线程。具体地,在从所述共享资源池中获取资源之前,可以首先锁定该共享资源池,而后从所述共享资源池中获取资源。
[0089]
在本申请实施例的一些场景中,在服务的初始化阶段,共享资源池中存在资源。但是随着服务的运行,该共享资源池中可能依然存在资源,也可能不存在资源。具体原因可以参考下文对于资源释放部分的描述,此处不做详细分析。因此,在本申请实施例的一种实现方式中,在锁定所述共享资源池之前,还可以确定该共享资源池中是否存在资源,在确定共享资源池中存在资源的情况下,再锁定该共享资源池,并从该共享资源池中获取资源以运
行第一线程。
[0090]
在本申请实施例的一个示例中,若第一线程对应的独占资源池中不存在资源,共享资源池中也不包括资源,则可以为所述第一线程创建一个新的资源,并利用所创建的资源运行所述第一线程,从而使得第一线程得以正常运行。
[0091]
在本申请实施例中,在第一线程运行结束之后,可以释放运行所述第一线程所使用的资源,即释放s102中提及的获取的所述资源。在一些实施例中,考虑到若第一线程对应的独占资源池中存在资源,则可以最大程度的提升并发性,避免在需要运行第一线程时,需要从共享资源池中获取资源或者重新创建资源,因此,在第一线程运行结束之后,可以将运行所述第一线程所使用的资源释放至第一线程对应的独占资源池中。
[0092]
可以理解的是,此处提及的运行第一线程所使用的资源,可以是从第一线程对应的独占资源池中获取的,也可以是从共享资源池中获取的,还可以是临时为第一线程创建的。本申请实施例不做具体限定。也正是因为即使运行所述第一线程所使用的资源是从共享资源池中获取的,也可以将该资源释放至第一线程对应的独占资源池中,因此,随着服务的运行,共享资源池中可能不存在资源。
[0093]
在另一些实施例中,考虑到运行第一线程所需的资源一般情况下是有限的,例如,不超过第一阈值。因此,当第一线程的独占资源池中原本包括的资源已经超出第一阈值的情况下,说明第一线程对应的独占资源池中有足够的资源运行第一线程,对于这种情况,在本申请实施例中,可以将运行所述第一线程所使用的资源释放至共享资源池中,以使得共享资源池可以为其它线程提供资源,也可以避免第一线程对应的资源池中的资源过多,造成整体资源利用率低的问题。具体地,可以锁定该共享资源池,并将运行所述第一线程所使用的资源释放至共享资源池中,将运行所述第一线程所使用的资源释放至共享资源池中之后,可以解除对该共享资源池的锁定。
[0094]
换言之,在本申请实施例中,在第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将运行所述第一线程所使用的资源释放至所述第一线程对应的独占资源池中,以最大程度的提升并发性。在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,则锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中,从而使得该共享资源池可以为其它线程提供资源。
[0095]
示例性设备
[0096]
基于以上实施例提供的方法,本申请实施例还提供了一种资源处理装置,以下结合附图介绍该装置。
[0097]
参见图2,该图为本申请实施例提供的一种资源处理装置的结构示意图。所述装置200例如可以具体包括:获取单元201和运行单元202。
[0098]
获取单元201,用于从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
[0099]
运行单元202,用于利用获取的所述资源,运行所述第一线程。
[0100]
在一种实现方式中,所述装置还包括:
[0101]
第一确定单元,用于在所述从第一线程对应的独占资源池中获取资源之前,确定所述第一线程对应的独占资源池中存在资源。
[0102]
在一种实现方式中,所述装置还包括:
[0103]
锁定单元,用于在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
[0104]
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0105]
在一种实现方式中,所述装置还包括:
[0106]
第二确定单元,用于在锁定共享资源池,并从所述共享资源池中获取资源之前,确定所述共享资源池中存在资源。
[0107]
在一种实现方式中,所述装置还包括:
[0108]
创建单元,用于在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
[0109]
所述运行单元202,用于:
[0110]
利用创建的所述资源,运行所述第一线程。
[0111]
在一种实现方式中,所述装置还包括:
[0112]
第一释放单元,用于在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
[0113]
在一种实现方式中,所述装置还包括:
[0114]
第二释放单元,用于在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
[0115]
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0116]
由于所述装置200是与以上方法实施例提供的方法对应的装置,所述装置200的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置200的各个单元的具体实现,可以参考以上方法实施例的描述部分,此处不再赘述。
[0117]
本申请实施例提供的方法,可以由客户端执行也可以由服务器执行,以下对执行上述方法的客户端和服务器分别进行说明。
[0118]
图3示出了一种客户端300的框图。例如,客户端300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0119]
参照图3,客户端300可以包括以下一个或多个组件:处理组件302,存储器304,电源组件306,多媒体组件308,音频组件310,输入/输出(i/o)的接口33,传感器组件314,以及通信组件316。
[0120]
处理组件302通常控制客户端300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件302可以包括一个或多个处理器320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理部件302可以包括多媒体模块,以方便多媒体组件308和处理组件302之间的交互。
[0121]
存储器304被配置为存储各种类型的数据以支持在客户端300的操作。这些数据的
示例包括用于在客户端300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0122]
电源组件306为客户端300的各种组件提供电力。电源组件306可以包括电源管理系统,一个或多个电源,及其他与为客户端300生成、管理和分配电力相关联的组件。
[0123]
多媒体组件308包括在所述客户端300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件308包括一个前置摄像头和/或后置摄像头。当客户端300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0124]
音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(mic),当客户端300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。
[0125]
i/o接口为处理组件302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0126]
传感器组件314包括一个或多个传感器,用于为客户端300提供各个方面的状态评估。例如,传感器组件314可以检测到设备300的打开/关闭状态,组件的相对定位,例如所述组件为客户端300的显示器和小键盘,传感器组件314还可以检测客户端300或客户端300一个组件的位置改变,用户与客户端300接触的存在或不存在,客户端300方位或加速/减速和客户端300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0127]
通信组件316被配置为便于客户端300和其他设备之间有线或无线方式的通信。客户端300可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信部件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件316还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0128]
在示例性实施例中,客户端300可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法:
[0129]
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
[0130]
利用获取的所述资源,运行所述第一线程。
[0131]
在一种实现方式中,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
[0132]
确定所述第一线程对应的独占资源池中存在资源。
[0133]
在一种实现方式中,所述方法还包括:
[0134]
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
[0135]
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0136]
在一种实现方式中,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
[0137]
确定所述共享资源池中存在资源。
[0138]
在一种实现方式中,所述方法还包括:
[0139]
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
[0140]
利用获取的所述资源,运行所述第一线程,包括:
[0141]
利用创建的所述资源,运行所述第一线程。
[0142]
在一种实现方式中,所述方法还包括:
[0143]
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
[0144]
在一种实现方式中,所述方法还包括:
[0145]
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
[0146]
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0147]
图4是本申请实施例中服务器的结构示意图。该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
[0148]
更进一步地,中央处理器422可以执行下述方法:
[0149]
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
[0150]
利用获取的所述资源,运行所述第一线程。
[0151]
在一种实现方式中,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
[0152]
确定所述第一线程对应的独占资源池中存在资源。
[0153]
在一种实现方式中,所述方法还包括:
[0154]
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
[0155]
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0156]
在一种实现方式中,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
[0157]
确定所述共享资源池中存在资源。
[0158]
在一种实现方式中,所述方法还包括:
[0159]
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
[0160]
利用获取的所述资源,运行所述第一线程,包括:
[0161]
利用创建的所述资源,运行所述第一线程。
[0162]
在一种实现方式中,所述方法还包括:
[0163]
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
[0164]
在一种实现方式中,所述方法还包括:
[0165]
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
[0166]
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
[0167]
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口456,一个或一个以上键盘456,和/或,一个或一个以上操作系统441,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0168]
本申请实施例还提供了一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行以上方法实施例提供的资源处理方法。
[0169]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
[0170]
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制
[0171]
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和
原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1