[go: up one dir, main page]

CN112286687A - 一种资源处理方法及装置 - Google Patents

一种资源处理方法及装置 Download PDF

Info

Publication number
CN112286687A
CN112286687A CN202011194968.4A CN202011194968A CN112286687A CN 112286687 A CN112286687 A CN 112286687A CN 202011194968 A CN202011194968 A CN 202011194968A CN 112286687 A CN112286687 A CN 112286687A
Authority
CN
China
Prior art keywords
thread
resource
resource pool
exclusive
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011194968.4A
Other languages
English (en)
Other versions
CN112286687B (zh
Inventor
刘兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sogou Technology Development Co Ltd
Original Assignee
Beijing Sogou Technology Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Sogou Technology Development Co Ltd filed Critical Beijing Sogou Technology Development Co Ltd
Priority to CN202011194968.4A priority Critical patent/CN112286687B/zh
Publication of CN112286687A publication Critical patent/CN112286687A/zh
Application granted granted Critical
Publication of CN112286687B publication Critical patent/CN112286687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种资源处理方法,在该方法中,各个线程可以具备对应的独占资源池,以第一线程为例,第一线程可以具备第一线程对应的独占资源池,第一线程对应的独占资源池,仅用于为第一线程提供资源,而不为其它线程提供资源。正是因为如此,除了第一线程之外,其它线程不会从第一线程对应的独占资源池中获取资源,换言之,第一线程对应的独占资源池不会如传统技术中的共享资源池那样被其它线程锁定。当需要运行第一线程时,可以直接从第一线程对应的独占资源池中获取资源,从而利用所获取的资源运行第一线程。由此可见,利用本申请实施例的方案,可以提升并发性。

Description

一种资源处理方法及装置
技术领域
本申请涉及数据处理领域,特别是涉及一种资源处理方法及装置。
背景技术
可以利用池化技术来提升计算机的性能。所谓池化技术,指的是事先创建好资源并放入资源池中,当需要使用资源的时候直接从资源池中获取,避免了创建资源的消耗,从而提高效率。
目前,池化技术可以应用于多线程编程。即多个线程均可以从该资源池中获取资源。但是,同一时刻最多只能有一个线程使用该资源池中的资源,从而使得多个线程无法同时运行,降低了并发性。
发明内容
本申请所要解决的技术问题是如何提升将池化技术应用于多线程编程时的并发性,提供一种资源处理方法及装置。
第一方面,本申请实施例提供了一种资源处理方法,所述方法包括:
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
利用获取的所述资源,运行所述第一线程。
可选的,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
确定所述第一线程对应的独占资源池中存在资源。
可选的,所述方法还包括:
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
可选的,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
确定所述共享资源池中存在资源。
可选的,所述方法还包括:
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
利用获取的所述资源,运行所述第一线程,包括:
利用创建的所述资源,运行所述第一线程。
可选的,所述方法还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
可选的,所述方法还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
第二方面,本申请实施例提供了一种资源处理装置,所述装置包括:
获取单元,用于从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
运行单元,用于利用获取的所述资源,运行所述第一线程。
可选的,所述装置还包括:
第一确定单元,用于在所述从第一线程对应的独占资源池中获取资源之前,确定所述第一线程对应的独占资源池中存在资源。
可选的,所述装置还包括:
锁定单元,用于在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
可选的,所述装置还包括:
第二确定单元,用于在锁定共享资源池,并从所述共享资源池中获取资源之前,确定所述共享资源池中存在资源。
可选的,所述装置还包括:
创建单元,用于在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
所述运行单元,用于:
利用创建的所述资源,运行所述第一线程。
可选的,所述装置还包括:
第一释放单元,用于在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
可选的,所述装置还包括:
第二释放单元,用于在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
第三方面,本申请实施例提供了一种资源处理装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
利用获取的所述资源,运行所述第一线程。
可选的,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
确定所述第一线程对应的独占资源池中存在资源。
可选的,所述操作还包括:
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
可选的,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
确定所述共享资源池中存在资源。
可选的,所述操作还包括:
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
利用获取的所述资源,运行所述第一线程,包括:
利用创建的所述资源,运行所述第一线程。
可选的,所述操作还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
可选的,所述操作还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行以上第一方面任意一项所述的方法。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供了一种资源处理方法,在该方法中,不再如传统技术中那样,多个线程共享一个共享资源池,若需要运行第一线程,只有在该共享资源池未被其它线程锁定的情况下,才能从该共享资源池中获取资源,从而运行第一线程。在本申请中,各个线程可以具备对应的独占资源池,以第一线程为例,第一线程可以具备第一线程对应的独占资源池,第一线程对应的独占资源池,仅用于为第一线程提供资源,而不为其它线程提供资源。正是因为如此,除了第一线程之外,其它线程不会从第一线程对应的独占资源池中获取资源,换言之,第一线程对应的独占资源池不会如传统技术中的共享资源池那样被其它线程锁定。当需要运行第一线程时,可以直接从第一线程对应的独占资源池中获取资源,从而利用所获取的资源运行第一线程。由此可见,利用本申请实施例的方案,可以提升并发性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种资源处理方法的流程示意图;
图2为本申请实施例提供的一种资源处理装置的结构示意图;
图3为本申请实施例提供的客户端的结构示意图;
图4为本申请实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过研究发现,池化技术可以应用于多线程编程。在一个示例中,可以预先创建资源,并将所创建的资源放到一个共享资源池中。该共享资源池可以用于为多个线程提供资源。目前,当多个线程均从共享资源池中获取资源时,同一时刻最多只能有一个线程使用该资源池中的资源。具体地,当线程1需要从共享资源池中获取资源时,线程1首先可以锁定该共享资源池(也可以称为对该共享资源池加锁),而后,从该共享资源池中获取资源以运行线程1,当线程1运行结束之后,可以将资源释放至该共享资源池中,而后,解除对该共享资源池的锁定。当该共享资源池处于锁定状态时,其它线程无法从共享资源池中获取资源。换言之,若该共享资源池被线程1锁定,则线程2无法从该共享资源池中获取资源,线程2必须等到线程1解除对该共享资源池的锁定之后,才能从该共享资源池中获取资源以运行线程2。正是因为如此,使得多个线程无法同时运行,降低了并发性。
为了解决上述问题,本申请实施例提供了一种资源处理方法及装置。
下面结合附图,详细说明本申请的各种非限制性实施方式。
示例性方法
参见图1,该图为本申请实施例提供的一种资源处理方法的流程示意图。
本申请实施例提供的资源处理方法,可以由具备数据处理功能的控制器或者处理器执行,也可以由包括前述控制器或者处理器的设备执行,本申请实施例不具体限定。其中,包括控制器或者处理器的设备包括但不限于终端设备以及服务器。
在本实施例中,图1所示的资源处理方法例如可以包括以下步骤S101-S102。
S101:从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为第一线程提供资源。
在本申请实施例中,可以在服务的初始化阶段,为各个线程分别创建一个独占资源池。其中,服务可以包括一个或者多个业务,业务可以运行在特定的线程中。
第一线程为所述各个线程中的任意一个线程。第一线程对应的独占资源池,仅用于为第一线程提供资源,而不为其它线程提供资源。在本申请实施例中,第一线程对应的独占资源池中的资源,例如可以包括线程池、内存池和连接池中的其中一项或者多项。关于线程池、内存池和连接池,此处不做详细描述。
在本申请实施例中,当需要利用第一线程运行业务时,可以从第一线程对应的独占资源池中获取资源。
S102:利用获取的所述资源,运行所述第一线程。
从第一线程对应的独占资源池中获取资源之后,可以利用从第一线程对应的独占资源池中获取的资源,运行所述第一线程,从而实现对某一业务的处理。
通过以上描述可知,由于第一线程对应的独占资源池,仅用于为第一线程提供资源,而不为其它线程提供资源。因此除了第一线程之外,其它线程不会从第一线程对应的独占资源池中获取资源,换言之,第一线程对应的独占资源池不会如传统的共享资源池那样被其它线程锁定。当需要运行第一线程时,可以直接从第一线程对应的独占资源池中获取资源,从而利用所获取的资源运行第一线程。由此可见,利用本申请实施例的方案,可以提升并发性。
在一些场景中,当业务处理完成之后,可以将处理该业务所使用的资源释放。而在业务处理过程中,可以会存在多线程互相调度,这就导致从第一线程的独占资源池中获取的资源可能会被释放至其它线程例如第二线程的独占资源池中,从而使得第一线程对应的独占资源池中的资源越来越少,甚至无资源可用。而第二线程对应的独占资源池中的资源越来越多。
举例说明,对于用户登陆业务而言,其中涉及申请链接以验证用户名和密码是否匹配的线程1和归还所述链接的线程2。运行线程1时,从线程1对应的独占资源池中获取资源,而归还链接运行的线程为线程2,故而当验证用户名和密码是否匹配之后,进一步归还链接时,会将从线程1的独占资源池中获取的资源释放至线程2对应的独占资源池中,使得线程1对应的独占资源池中的资源减少,线程2对应的独占资源池中的资源在增多。
正是因为如上所述,第一线程对应的独占资源池中有可能无资源可用,因此,在本申请实施例的一个示例中,在执行前述S101之前,还可以确定第一线程对应的独占资源池中是否存在资源,在确定第一线程对应的独占资源池中存在资源的情况下,再执行前述S101及后续步骤,从而实现利用第一线程的独占资源池中的资源运行第一线程。
另外,为了使得在第一线程对应的独占资源池中没有资源的情况下,第一线程也可以正常运行。在本申请实施例中,在服务的初始化阶段,除了为各个线程分别创建一个独占资源池之外,还可以创建一个共享资源池,该共享资源池用于为多个线程提供资源,该多个线程包括前述第一线程。这样一来,在第一线程对应的独占资源池中没有资源的情况下,可以从该共享资源池中获取资源,并利用从该共享资源池中获取的资源运行第一线程。具体地,在从所述共享资源池中获取资源之前,可以首先锁定该共享资源池,而后从所述共享资源池中获取资源。
在本申请实施例的一些场景中,在服务的初始化阶段,共享资源池中存在资源。但是随着服务的运行,该共享资源池中可能依然存在资源,也可能不存在资源。具体原因可以参考下文对于资源释放部分的描述,此处不做详细分析。因此,在本申请实施例的一种实现方式中,在锁定所述共享资源池之前,还可以确定该共享资源池中是否存在资源,在确定共享资源池中存在资源的情况下,再锁定该共享资源池,并从该共享资源池中获取资源以运行第一线程。
在本申请实施例的一个示例中,若第一线程对应的独占资源池中不存在资源,共享资源池中也不包括资源,则可以为所述第一线程创建一个新的资源,并利用所创建的资源运行所述第一线程,从而使得第一线程得以正常运行。
在本申请实施例中,在第一线程运行结束之后,可以释放运行所述第一线程所使用的资源,即释放S102中提及的获取的所述资源。在一些实施例中,考虑到若第一线程对应的独占资源池中存在资源,则可以最大程度的提升并发性,避免在需要运行第一线程时,需要从共享资源池中获取资源或者重新创建资源,因此,在第一线程运行结束之后,可以将运行所述第一线程所使用的资源释放至第一线程对应的独占资源池中。
可以理解的是,此处提及的运行第一线程所使用的资源,可以是从第一线程对应的独占资源池中获取的,也可以是从共享资源池中获取的,还可以是临时为第一线程创建的。本申请实施例不做具体限定。也正是因为即使运行所述第一线程所使用的资源是从共享资源池中获取的,也可以将该资源释放至第一线程对应的独占资源池中,因此,随着服务的运行,共享资源池中可能不存在资源。
在另一些实施例中,考虑到运行第一线程所需的资源一般情况下是有限的,例如,不超过第一阈值。因此,当第一线程的独占资源池中原本包括的资源已经超出第一阈值的情况下,说明第一线程对应的独占资源池中有足够的资源运行第一线程,对于这种情况,在本申请实施例中,可以将运行所述第一线程所使用的资源释放至共享资源池中,以使得共享资源池可以为其它线程提供资源,也可以避免第一线程对应的资源池中的资源过多,造成整体资源利用率低的问题。具体地,可以锁定该共享资源池,并将运行所述第一线程所使用的资源释放至共享资源池中,将运行所述第一线程所使用的资源释放至共享资源池中之后,可以解除对该共享资源池的锁定。
换言之,在本申请实施例中,在第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将运行所述第一线程所使用的资源释放至所述第一线程对应的独占资源池中,以最大程度的提升并发性。在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,则锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中,从而使得该共享资源池可以为其它线程提供资源。
示例性设备
基于以上实施例提供的方法,本申请实施例还提供了一种资源处理装置,以下结合附图介绍该装置。
参见图2,该图为本申请实施例提供的一种资源处理装置的结构示意图。所述装置200例如可以具体包括:获取单元201和运行单元202。
获取单元201,用于从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
运行单元202,用于利用获取的所述资源,运行所述第一线程。
在一种实现方式中,所述装置还包括:
第一确定单元,用于在所述从第一线程对应的独占资源池中获取资源之前,确定所述第一线程对应的独占资源池中存在资源。
在一种实现方式中,所述装置还包括:
锁定单元,用于在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
在一种实现方式中,所述装置还包括:
第二确定单元,用于在锁定共享资源池,并从所述共享资源池中获取资源之前,确定所述共享资源池中存在资源。
在一种实现方式中,所述装置还包括:
创建单元,用于在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
所述运行单元202,用于:
利用创建的所述资源,运行所述第一线程。
在一种实现方式中,所述装置还包括:
第一释放单元,用于在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
在一种实现方式中,所述装置还包括:
第二释放单元,用于在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
由于所述装置200是与以上方法实施例提供的方法对应的装置,所述装置200的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置200的各个单元的具体实现,可以参考以上方法实施例的描述部分,此处不再赘述。
本申请实施例提供的方法,可以由客户端执行也可以由服务器执行,以下对执行上述方法的客户端和服务器分别进行说明。
图3示出了一种客户端300的框图。例如,客户端300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,客户端300可以包括以下一个或多个组件:处理组件302,存储器304,电源组件306,多媒体组件308,音频组件310,输入/输出(I/O)的接口33,传感器组件314,以及通信组件316。
处理组件302通常控制客户端300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件302可以包括一个或多个处理器320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理部件302可以包括多媒体模块,以方便多媒体组件308和处理组件302之间的交互。
存储器304被配置为存储各种类型的数据以支持在客户端300的操作。这些数据的示例包括用于在客户端300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件306为客户端300的各种组件提供电力。电源组件306可以包括电源管理系统,一个或多个电源,及其他与为客户端300生成、管理和分配电力相关联的组件。
多媒体组件308包括在所述客户端300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件308包括一个前置摄像头和/或后置摄像头。当客户端300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(MIC),当客户端300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。
I/O接口为处理组件302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件314包括一个或多个传感器,用于为客户端300提供各个方面的状态评估。例如,传感器组件314可以检测到设备300的打开/关闭状态,组件的相对定位,例如所述组件为客户端300的显示器和小键盘,传感器组件314还可以检测客户端300或客户端300一个组件的位置改变,用户与客户端300接触的存在或不存在,客户端300方位或加速/减速和客户端300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件316被配置为便于客户端300和其他设备之间有线或无线方式的通信。客户端300可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件316还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,客户端300可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法:
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
利用获取的所述资源,运行所述第一线程。
在一种实现方式中,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
确定所述第一线程对应的独占资源池中存在资源。
在一种实现方式中,所述方法还包括:
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
在一种实现方式中,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
确定所述共享资源池中存在资源。
在一种实现方式中,所述方法还包括:
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
利用获取的所述资源,运行所述第一线程,包括:
利用创建的所述资源,运行所述第一线程。
在一种实现方式中,所述方法还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
在一种实现方式中,所述方法还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
图4是本申请实施例中服务器的结构示意图。该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
更进一步地,中央处理器422可以执行下述方法:
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
利用获取的所述资源,运行所述第一线程。
在一种实现方式中,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
确定所述第一线程对应的独占资源池中存在资源。
在一种实现方式中,所述方法还包括:
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
在一种实现方式中,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
确定所述共享资源池中存在资源。
在一种实现方式中,所述方法还包括:
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
利用获取的所述资源,运行所述第一线程,包括:
利用创建的所述资源,运行所述第一线程。
在一种实现方式中,所述方法还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
在一种实现方式中,所述方法还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口456,一个或一个以上键盘456,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例还提供了一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行以上方法实施例提供的资源处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种资源处理方法,其特征在于,所述方法包括:
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
利用获取的所述资源,运行所述第一线程。
2.根据权利要求1所述的方法,其特征在于,在所述从第一线程对应的独占资源池中获取资源之前,还包括:
确定所述第一线程对应的独占资源池中存在资源。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在确定所述第一线程对应的独占资源池中不存在资源的情况下,锁定共享资源池,并从所述共享资源池中获取资源;其中:
所述共享资源池中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
4.根据权利要求3所述的方法,其特征在于,在确定所述第一线程对应的独占资源池中不存在资源的情况下,所述锁定共享资源池,并从所述共享资源池中获取资源之前,还包括:
确定所述共享资源池中存在资源。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在确定所述共享资源池中不存在资源的情况下,为所述第一线程创建资源;
利用获取的所述资源,运行所述第一线程,包括:
利用创建的所述资源,运行所述第一线程。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源小于或者等于第一阈值,将所述获取的所述资源释放至所述第一线程对应的独占资源池中。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一线程运行结束之后,若所述第一线程对应的独占资源池中包括的资源大于第一阈值,锁定共享资源池,并将所述获取的所述资源释放至所述共享资源池中;其中:
所述共享资源中的资源,用于为多个线程提供资源,所述多个线程包括所述第一线程。
8.一种资源处理装置,其特征在于,所述装置包括:
获取单元,用于从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
运行单元,用于利用获取的所述资源,运行所述第一线程。
9.一种资源处理装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从第一线程对应的独占资源池中获取资源,所述第一线程对应的独占资源池用于为所述第一线程提供资源;
利用获取的所述资源,运行所述第一线程。
10.一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行权利要求1至7任意一项所述的方法。
CN202011194968.4A 2020-10-30 2020-10-30 一种资源处理方法及装置 Active CN112286687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011194968.4A CN112286687B (zh) 2020-10-30 2020-10-30 一种资源处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011194968.4A CN112286687B (zh) 2020-10-30 2020-10-30 一种资源处理方法及装置

Publications (2)

Publication Number Publication Date
CN112286687A true CN112286687A (zh) 2021-01-29
CN112286687B CN112286687B (zh) 2025-07-11

Family

ID=74353790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011194968.4A Active CN112286687B (zh) 2020-10-30 2020-10-30 一种资源处理方法及装置

Country Status (1)

Country Link
CN (1) CN112286687B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116527815A (zh) * 2023-04-18 2023-08-01 贝壳找房(北京)科技有限公司 外呼方法、装置及电子设备
CN117082339A (zh) * 2023-07-13 2023-11-17 荣耀终端有限公司 拍摄模式切换方法、装置、电子设备及可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529845A (zh) * 2001-06-22 2004-09-15 ض� 用于解决多线程处理器中指令饥饿的方法及设备
CN1780252A (zh) * 2004-11-18 2006-05-31 华为技术有限公司 分组转发设备的缓存资源管理方法
US20070094669A1 (en) * 2005-10-25 2007-04-26 Microsoft Corporation Shared resource acquisition
CN101566977A (zh) * 2009-06-08 2009-10-28 华为技术有限公司 处理器访问共享数据的方法、装置及系统
CN105426250A (zh) * 2015-11-30 2016-03-23 杭州数梦工场科技有限公司 一种资源管理的方法和装置
US20160308783A1 (en) * 2015-04-20 2016-10-20 Peter G. Bookman Systems and Methods for Allocating Online Resources
CN107515785A (zh) * 2016-06-16 2017-12-26 大唐移动通信设备有限公司 一种内存管理方法及装置
CN110457135A (zh) * 2019-08-09 2019-11-15 重庆紫光华山智安科技有限公司 一种资源调度方法、装置及共享gpu显存的方法
CN111274015A (zh) * 2016-08-31 2020-06-12 华为技术有限公司 一种配置方法、装置和数据处理服务器

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529845A (zh) * 2001-06-22 2004-09-15 ض� 用于解决多线程处理器中指令饥饿的方法及设备
CN1780252A (zh) * 2004-11-18 2006-05-31 华为技术有限公司 分组转发设备的缓存资源管理方法
US20070094669A1 (en) * 2005-10-25 2007-04-26 Microsoft Corporation Shared resource acquisition
CN101566977A (zh) * 2009-06-08 2009-10-28 华为技术有限公司 处理器访问共享数据的方法、装置及系统
US20160308783A1 (en) * 2015-04-20 2016-10-20 Peter G. Bookman Systems and Methods for Allocating Online Resources
CN105426250A (zh) * 2015-11-30 2016-03-23 杭州数梦工场科技有限公司 一种资源管理的方法和装置
CN107515785A (zh) * 2016-06-16 2017-12-26 大唐移动通信设备有限公司 一种内存管理方法及装置
CN111274015A (zh) * 2016-08-31 2020-06-12 华为技术有限公司 一种配置方法、装置和数据处理服务器
CN110457135A (zh) * 2019-08-09 2019-11-15 重庆紫光华山智安科技有限公司 一种资源调度方法、装置及共享gpu显存的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YILIN ZHANG ET AL.: "Recalling instructions from idling threads to maximize resource utilization for simultaneous multi-threading processors", COMPUTERS AND ELECTRICAL ENGINEERING, vol. 39, no. 7, 31 October 2013 (2013-10-31) *
李昊, 刘志镜: "线程池技术的研究", 现代电子技术, no. 03, 1 March 2004 (2004-03-01) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116527815A (zh) * 2023-04-18 2023-08-01 贝壳找房(北京)科技有限公司 外呼方法、装置及电子设备
CN117082339A (zh) * 2023-07-13 2023-11-17 荣耀终端有限公司 拍摄模式切换方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN112286687B (zh) 2025-07-11

Similar Documents

Publication Publication Date Title
CN105955765B (zh) 应用预加载方法及装置
CN113032030B (zh) 相机启动方法、装置、终端设备和存储介质
CN105338409B (zh) 一种网络视频预加载方法及装置
US20170060599A1 (en) Method and apparatus for awakening electronic device
CN107888965B (zh) 图像礼物展示方法及装置、终端、系统、存储介质
CN109254849B (zh) 应用程序的运行方法及装置
CN112217990B (zh) 任务调度方法、任务调度装置及存储介质
KR20170098059A (ko) 전자 장치 및 전자 장치의 동작 제어 방법
US9678868B2 (en) Method and device for optimizing memory
US20170293494A1 (en) Method and device for starting application interface
CN108958911B (zh) 进程的控制方法及装置
CN105930213A (zh) 应用运行方法及装置
CN111966410A (zh) 启动处理方法、装置、电子设备及存储介质
CN113268325A (zh) 一种调度任务的方法、装置及存储介质
WO2016150104A1 (zh) 应用主题的加载方法及装置
CN112286687B (zh) 一种资源处理方法及装置
EP3236355A1 (en) Method and apparatus for managing task of instant messaging application
CN107632835B (zh) 应用安装方法及装置
CN113360254B (zh) 任务调度方法及系统
US11269699B2 (en) Method and device for processing an application
CN107371222B (zh) 虚拟卡禁用方法及装置
CN106201738B (zh) 系统广播调用方法及装置
CN110515623B (zh) 图形操作实现方法、装置、电子设备及存储介质
CN109586951B (zh) 实施故障转移的方法、装置、电子设备及可读存储介质
CN111666146A (zh) 多任务并发处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant