一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源分配方法、装置、电子设备及可读存储介质与流程

2022-05-21 06:41:14 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种资源分配方法、装置、电子设备及可读存储介质。


背景技术:

2.在目前的电子设备中,操作系统一般都使用linux内核的原生调度系统,原生调度系统采用完全公平调度策略。完全公平调度策略使用红黑树作为数据结构管理等待运行的所有线程,所有线程以自身的虚拟运行时间作为索引插入红黑树中,每次线程切换时选取虚拟运行时间最小的线程,由此保证所有线程尽可能公平得获取到cpu资源。但是在这种方式下,用户体验相关线程获取到资源的速度比较慢,很容易引起界面卡顿,导致用户体验不佳。


技术实现要素:

3.本技术实施例提供了一种资源分配方法、装置、电子设备及可读存储介质,其能够通过减小用户体验相关线程的虚拟运行时间,对该种线程倾斜资源,从而加快该种线程获取到资源的速度,进而可缓解由于获取到资源的速度慢而导致界面卡顿的问题。
4.本技术的实施例可以这样实现:
5.第一方面,本发明提供一种资源分配方法,包括:
6.在有线程需要被添加至对应的基于红黑树的等待队列时,将该线程作为目标线程,并判断所述目标线程的类型是否为目标类型,其中,所述目标类型的线程为用户体验相关线程;
7.若所述目标线程的类型为所述目标类型,则对所述目标线程的虚拟运行时间进行减小处理,得到减小后的虚拟运行时间;
8.根据所述目标线程的减小后的虚拟运行时间,将所述目标线程添加至所述等待队列中;
9.采用完全公平调度策略,对添加有所述目标线程的所述等待队列中待分配资源的线程进行资源分配。
10.在可选的实施方式中,所述减小后的虚拟运行时间小于所述等待队列中任意一个线程的虚拟运行时间。
11.在可选的实施方式中,所述采用完全公平调度策略,对添加有所述目标线程的所述等待队列中待分配资源的线程进行资源分配,包括:
12.通过抢占方式为待分配资源的线程分配资源。
13.在可选的实施方式中,所述通过抢占方式为待分配资源的线程分配资源,包括:
14.在当前正在运行的线程的类型为所述目标类型时,获得当前正在运行的线程本次获取到当前资源的时长;
15.在所述时长不大于预设时长时,不进行抢占;
16.在所述时长大于所述预设时长时,通过抢占方式将当前正在运行的线程的资源分配给所述等待队列中第一个待分配资源的线程,其中,第一个待分配资源的线程的虚拟运行时间为当前所述等待队列中所有待分配资源的线程中的最小虚拟运行时间。
17.在可选的实施方式中,在类型为所述目标类型的目标线程运行之后,所述方法还包括:
18.根据所述目标线程的减小前的虚拟运行时间与减小后的虚拟运行时间之差、所述目标线程本次的运行时长,获得所述目标线程本次运行之后的真实虚拟运行时间。
19.第二方面,本发明提供一种资源分配装置,包括:
20.类型确定模块,用于在有线程需要被添加至对应的基于红黑树的等待队列时,将该线程作为目标线程,并判断所述目标线程的类型是否为目标类型,其中,所述目标类型的线程为用户体验相关线程;
21.处理模块,用于在所述目标线程的类型为所述目标类型,对所述目标线程的虚拟运行时间进行减小处理,得到减小后的虚拟运行时间;
22.添加模块,用于根据所述目标线程的减小后的虚拟运行时间,将所述目标线程添加至所述等待队列中;
23.分配模块,用于采用完全公平调度策略,对添加有所述目标线程的所述等待队列中待分配资源的线程进行资源分配。
24.在可选的实施方式中,所述减小后的虚拟运行时间小于所述等待队列中任意一个线程的虚拟运行时间。
25.在可选的实施方式中,所述分配模块具体用于:
26.通过抢占方式为待分配资源的线程分配资源。
27.在可选的实施方式中,所述分配模块具体用于:
28.在当前正在运行的线程的类型为所述目标类型时,获得当前正在运行的线程本次获取到当前资源的时长;
29.在所述时长不大于预设时长时,不进行抢占;
30.在所述时长大于所述预设时长时,通过抢占方式将当前正在运行的线程的资源分配给所述等待队列中第一个待分配资源的线程,其中,第一个待分配资源的线程的虚拟运行时间为当前所述等待队列中所有待分配资源的线程中的最小虚拟运行时间。
31.在可选的实施方式中,在类型为所述目标类型的目标线程运行之后,所述处理模块还用于:
32.根据所述目标线程的减小前的虚拟运行时间与减小后的虚拟运行时间之差、所述目标线程本次的运行时长,获得所述目标线程本次运行之后的真实虚拟运行时间。
33.第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式中任意一项所述的资源分配方法。
34.第四方面,本发明提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任意一项所述的资源分配方法。
35.本技术实施例提供的资源分配方法、装置、电子设备及可读存储介质,在有线程需要被添加到对应的基于红黑树的等待队列时,将该线程作为目标线程,并判断该目标线程
是否为用户体验相关线程。若是,则减小该目标线程的虚拟运行时间,并根据得到的减小后的虚拟运行时间,将该目标线程添加至等待队列,进而采用完全公平调度策略,对添加有目标线程的等待队列中待分配资源的线程进行资源分配。由此,通过减小用户体验相关线程的虚拟运行时间,可对用户体验相关线程倾斜资源,从而加快用户体验相关线程获取到资源的速度,进而可缓解由于用户体验相关线程获取到资源的速度慢而导致界面卡顿的问题,提升用户体验。
附图说明
36.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
37.图1为本技术实施例提供的电子设备的方框示意图;
38.图2为本技术实施例提供的资源分配方法的流程示意图;
39.图3为图2中步骤s140包括的子步骤的流程示意图;
40.图4为本技术实施例提供的资源分配装置的方框示意图。
41.图标:100-电子设备;110-存储器;120-处理器;130-通信单元;200-资源分配装置;210-类型确定模块;220-处理模块;230-添加模块;240-分配模块。
具体实施方式
42.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
43.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
45.在本技术的描述中,需要说明的是,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
46.需要说明的是,在不冲突的情况下,本技术的实施例中的特征可以相互结合。
47.目前的电子设备的操作系统一般都使用linux内核的原生调度系统,原生调度系统采用完全公平(completely fair scheduler,cfs)调度策略。完全公平调度策略使用红黑树作为数据结构管理等待运行的所有线程,所有线程以自身的虚拟运行时间作为索引插入红黑树中,每次线程切换时选取虚拟运行时间最小的线程。也即在为下一线程分配资源时,该下一线程为等待运行的所有线程中最小虚拟运行时间对应的线程。其中,红黑树的最左叶子结点为最小虚拟运行时间。由此保证所有线程尽可能公平得获取到cpu资源。
48.但是,本技术发明人在经过实践并仔细研究后发现:这种方式没有对用户体验相关线程倾斜资源,在这种情况下,待运行的用户体验相关线程获取资源的速度就会比较慢,那么用户体验相关行程本次开始运行的时刻也就会比较晚,使得用户感觉操作系统的响应慢,体验不佳。并且,在一些极端情况下(比如,等待队列中的线程有很多,也即在后台高负载的场景下,且虚拟运行时间均小于用户体验相关线程的虚拟运行时间)很容易引起界面卡顿。
49.为了改善以上问题,本技术实施例提供了一种资源分配方法、装置、电子设备及可读存储介质。下面结合对本技术实施例进行详细说明。
50.请参照图1,图1为本技术实施例提供的电子设备100的方框示意图。所述电子设备100可以是,但不限于,智能手机、平板电脑等。所述电子设备100可以包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
51.其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
52.处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有资源分配装置200,所述资源分配装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本技术实施例中的资源分配装置200,从而执行各种功能应用以及数据处理,即实现本技术实施例中的资源分配方法。
53.通信单元130用于通过网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
54.应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
55.请参照图2,图2为本技术实施例提供的资源分配方法的流程示意图。所述方法可应用于电子设备100。下面对资源分配方法的具体流程进行详细阐述。所述方法可以包括步骤s110~步骤s140。
56.步骤s110,在有线程需要被添加至对应的基于红黑树的等待队列时,将该线程作为目标线程,并判断所述目标线程的类型是否为目标类型。
57.在本实施例中,在有线程被唤醒需要资源时,该线程需要先被添加至对应的基于红黑树的等待队列中。可将该线程作为目标线程,进而根据该目标线程的线程信息,判断所述目标线程的类型是否为目标类型。其中,所述等待队列中的线程可均是处于被唤醒状态但还未获得资源的线程。所述目标类型的线程为用户体验相关线程,用户体验相关线程为与用户体验相关的线程,比如,ui线程、渲染线程等。也即,在有线程被唤醒、且还未被添加至等待队列的情况下,判断该线程是否为用户体验相关线程。
58.若所述目标线程的类型不是所述目标类型,则可以按照常规方式处理,即直接根据该目标线程的虚拟运行时间,将该目标线程添加至等待队列中。该目标线程在等待队列中的位置,由该目标线程的虚拟运行时间确定。
59.步骤s120,若所述目标线程的类型为所述目标类型,则对所述目标线程的虚拟运行时间进行减小处理,得到减小后的虚拟运行时间。
60.若所述目标线程类型是所述目标类型,即所述目标线程是用户体验相关线程,在这种情况下,可对所述目标线程虚拟运行时间进行减小处理,并得到减小后的虚拟运行时间。其中,目标线程的减小前的虚拟运行时间与减小后的虚拟运行时间之差大于0,具体的减小处理方式可根据实际需求设置。
61.步骤s130,根据所述目标线程的减小后的虚拟运行时间,将所述目标线程添加至所述等待队列中。
62.在获得所述目标线程的减小后的虚拟运行时间后,基于该减小后的虚拟运行时间,将所述目标线程添加至所述等待队列中。其中,所述目标线程在等待队列中的位置由该目标线程的减小后的虚拟运行时间确定。
63.步骤s140,采用完全公平调度策略,对添加有所述目标线程的所述等待队列中待分配资源的线程进行资源分配。
64.在本实施例中,在将所述目标线程添加到所述等待队列后,若可以分配资源,则可以采用完全公平调度策略,根据等待队列中的各待分配资源的线程的虚拟运行时间,对所述等待队列中待分配资源的线程进行资源分配。其中,若等待队列中包括为所述目标类型的线程,则在资源分配时,该线程的虚拟运行时间为减小后的虚拟运行时间。
65.本技术实施例在被唤醒的线程为用户体验相关线程时,减小该线程的虚拟运行时间,并根据减小后的虚拟运行时间将该线程添加至对应的基于红黑树的等待队列中,进而采用完全公平调度策略,对添加有目标线程的等待队列中待分配资源的线程进行资源分配。在使用完全公平调度策略进行资源分配的情况下,一个线程获得资源的速度与该线程的虚拟运行时间反相关,因此本技术实施例通过减小用户体验相关线程的虚拟运行时间,可对用户体验相关线程倾斜资源,从而加快用户体验相关线程获取到资源的速度,进而可缓解由于用户体验相关线程获取到资源的速度慢而导致界面卡顿的问题,提升用户体验。
66.可选地,在本实施例中,可通过监测是否有线程被唤醒的方式或其他方式,确定是否有线程被唤醒。在有线程被唤醒时,将该线程作为所述目标线程,并判断所述线程的类型是否为所述目标类型。
67.可选地,作为一种可选的实施方式,可以获得所述目标线程的线程描述信息,根据该线程描述信息判断该线程的类型是否为所述目标类型,即是否为所述用户体验先关线程。其中,所述线程描述信息中可以包括线程的作用,比如,一线程用于进行渲染,则可以确定该线程的类型属于所述目标类型。
68.可选地,作为另一种可选的实施方式,还可以预先设置有类型为所述目标类型的线程的线程标识。将所述目标线程的线程标识与各预先设置的线程标识进行比对,若所述目标线程的线程标识与其中一个预先设置的线程标识相同,则可以确定所述目标线程的类型为所述目标类型。
69.当然可以理解的是,上述仅为举例说明,具体判断所述目标线程的类型是否为所
述目标类型的方式可以根据实际需求进行设置,只要能够实现确定所述目标线程的类型是否为所述目标类型即可。
70.如果所述目标线程的类型为所述目标类型,即所述目标类型的线程为用户体验相关线程,则表示需要对该目标线程倾斜资源,以便缓解该目标线程获取资源速度慢的问题。为了达到上述目的,在所述目标线程的类型为所述目标类型的情况,可对该目标线程虚拟运行时间减小处理,得到减小后的虚拟运行时间。其中,在将所述目标线程添加至所述等待队列之前,所述减小后的运行时间小于所述等待队列中至少一个线程的虚拟运行时间。在完成减小处理后,可根据所述目标线程的减小后的虚拟运行时间与所述等待队列中已有的线程的虚拟运行时间的大小关系,将该目标线程添加至所述等待队列中。
71.可选地,作为一种可选的实施方式,可以将所述目标线程的虚拟运行时间减去一第一固定值,并将所得差值作为减小后的虚拟运行时间。比如,所述目标线程的虚拟运行时间为t1,第一固定值为t2,则所述目标线程的减小后的虚拟运行时间为t1-t2。其中,所述固定值可以根据实际需求进行设置。由此,便于快速完成对目标线程的虚拟运行时间的减小处理。
72.可选地,作为另一种可选的实施方式,还可以根据当前所述等待队列中线程的虚拟运行时间,以及对目标线程获取速度的要求,对所述目标线程的虚拟运行时间进行减小处理。也即,根据对目标线程在等待队列中的位置要求,进行减小处理。
73.比如,若要求在将所述目标线程添加至所述等待队列的大概居中位置,则可以根据当前所述等待队列中,位于大概居中位置的线程的虚拟运行时间,减小所述目标线程的虚拟运行时间,使得在基于减小后的虚拟运行时间将所述目标线程添加至所述等待队列后,所述目标线程的位置可以是大概居中。
74.例如,在添加所述目标线程之前,按照虚拟运行时间由小到大的顺序排序,所述等待队列中依次包括线程a、b、c、d。其中,线程a的虚拟运行时间为ta,线程b的虚拟运行时间为tb,线程c的虚拟运行时间为tc,线程d的虚拟运行时间为td,ta《tb《tc《td。目标线程f的虚拟运行时间为t
f1
,若要求所述目标线程f在添加至该等待队列后,该目标线程f的位置居中,则可以根据当前居中的线程b、c的虚拟运行时间tb、tc对目标线程f的虚拟运行时间t
f1
进行减小处理,使得减小后的虚拟运行时间t
f2
大于tb、小于tc,即有ta《tb《t
f2
《tc《td,进而在添加目标线程后,所述等待队列中则依次包括线程a、b、f、c、d。
75.为了进一步地加快所述目标线程获得资源的速度,还可以使得减小后的虚拟运行时间小于所述等待队列中任意一个线程的虚拟运行时间。由此,在可以进行资源分配的时候,这个做了虚拟运行时间调整的线程就会第一时间拿到cpu资源。在进行减小处理时,可以先获得在添加所述目标线程前,所述等待队列中的线程的最小虚拟运行时间,然后将所述目标线程的虚拟运行时间减小得比该最小虚拟运行时间还小的值,即减小后虚拟运行时间小于等待队列中的当前虚拟运行时间。
76.继续以上述例子为例,所述等待队列中依次包括线程a、b、c、d,目标线程f的虚拟运行时间为t
f1
,可根据所述等待队列中当前的最小虚拟运行时间ta,对目标线程f的虚拟运行时间t
f1
进行减小处理,使得减小后的虚拟运行时间t
f3
小于ta,即有t
f3
《ta《tb《tc《td,进而在添加目标线程后,所述等待队列中则依次包括线程f、a、b、f、c、d。
77.线程被唤醒的时间始终有先后,可按照被唤醒的时间的先后顺序,依次针对各线
程执行步骤s110~步骤s130。比如,线程m先被唤醒,线程n后被唤醒,且线程m、n对应同一等待队列;可先判断线程m的类型是否为所述目标类型,若是,则对线程m的虚拟运行时间进行减小处理,然后根据线程m减小的虚拟运行时间,将线程m添加至等待队列中;接着,判断线程n的类型是否为所述目标类型,若是,则对线程n的虚拟运行时间进行减小处理,然后根据线程n减小的虚拟运行时间,将线程n添加至已添加有线程m的等待队列中。
78.可选地,在本实施例中,在进行资源分配时,可以利用抢占方式,也可以不利用抢占方式。
79.可选地,在一种可选的实施方式中,为了进一步加快用户体验相关线程获取资源的速度,可通过抢占方式为所述等待队列中的待分析资源的线程分配资源。
80.在利用抢占方式进行资源分配时,一般情况下,当前虚拟运行时间短的线程很容易去抢占正在运行的且当前虚拟运行时间较长的线程的资源。为了避免用户体验相关线程的资源很快被抢占,请参照图3,图3为图2中步骤s140包括的子步骤的流程示意图。在本实施例中,步骤s140可以包括子步骤s141~子步骤s143。
81.子步骤s141,在当前正在运行的线程的类型为所述目标类型时,获得当前正在运行的线程本次获取到当前资源的时长。
82.子步骤s142,在所述时长不大于预设时长时,不进行抢占。
83.子步骤s143,在所述时长大于所述预设时长时,通过抢占方式将当前正在运行的线程的资源分配给所述等待队列中第一个待分配资源的线程。
84.在本实施例中,可判断当前正在运行的线程的类型是否为所述目标类型。其中,具体判断过程可与步骤s110中的判断过程相同,也可以不同。一般一个等待队列对应一个核,一个核在一个时刻只能运行一个线程,当前正在运行的线程正在该等待队列对应的核上运行的线程,即当前获得了资源的线程。
85.若当前正在运行的线程的类型为所述目标线程,则可以获取所述当前正在运行的线程本次获取到当前资源的时长。比如,当前时刻为t5,当前正在运行的线程本次在时刻t6获取到资源,则该线程本次获取到当前资源的时长为t6-t5,其中,时刻t6在时刻t5之前。
86.接着,判断所述时长是否大于所述预设时长。其中,所述预设时长的具体值可以根据实际需求进行设置,比如,设置为10毫秒。若所述时长不大于预设时长,表示为用户体验相关线程的当前正在运行的线程本次获取到资源的时长还不满足一定时长,在此情况下若进行抢占,则会导致该线程本次运行时间很短,进而导致用户体验不佳。为了避免该情况,在所述时长不大于所述预设时长时,不进行抢占,以保证用户体验相关线程在获得资源后一定时间内资源不会被抢占。
87.若所述时长大于所述预设时长,则表示为用户体验相关线程的当前正在运行的线程获取到资源已经一定时长,在此情况下,则可以将分配当前正在运行的线程的资源,分配给所述等待队列中第一个待分配资源的线程。其中,第一个待分配资源的线程的虚拟运行时间为当前所述等待队列中所有待分配资源的线程中的最小虚拟运行时间。
88.由于用户体验线程的虚拟运行时间做了减小处理,因而相较于使用未处理的虚拟运行时间,用户体验线程被优先调度,由此在不影响客户使用的情况下,可缓解由于用户体验相关线程获取到资源的速度慢而导致界面卡顿的问题,提升用户体验,特别是在后台高负载场景下的用户体验。
89.可选地,在本实施例中,在虚拟运行时间做了减小处理的目标线程运行之后,即在虚拟运行时间做了减小处理的目标线程重新回到休眠状态时,可以根据所述目标线程的减小前的虚拟运行时间与减小后的虚拟运行时间之差、所述目标线程本次的运行时长,获得所述目标线程本次运行之后的真实虚拟运行时间。由此可避免在其他方面使用该线程的虚拟运行时间时,由于该虚拟运行时间不准确而引起其他问题。
90.为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种资源分配装置200的实现方式,可选地,该资源分配装置200可以采用上述图1所示的电子设备100的器件结构。进一步地,请参照图4,图4为本技术实施例提供的资源分配装置200的方框示意图。需要说明的是,本实施例所提供的资源分配装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述资源分配装置200可以包括:类型确定模块210、处理模块220、添加模块230及分配模块240。
91.所述类型确定模块210,用于在有线程需要被添加至对应的基于红黑树的等待队列时,将该线程作为目标线程,并判断所述目标线程的类型是否为目标类型。其中,所述目标类型的线程为用户体验相关线程。
92.所述处理模块220,用于在所述目标线程的类型为所述目标类型,对所述目标线程的虚拟运行时间进行减小处理,得到减小后的虚拟运行时间。
93.所述添加模块230,用于根据所述目标线程的减小后的虚拟运行时间,将所述目标线程添加至所述等待队列中。
94.所述分配模块240,用于采用完全公平调度策略,对添加有所述目标线程的所述等待队列中待分配资源的线程进行资源分配。
95.可选地,在本实施例中,所述减小后的虚拟运行时间小于所述等待队列中任意一个线程的虚拟运行时间。
96.可选地,在本实施例中,所述分配模块240具体用于:通过抢占方式为待分配资源的线程分配资源。
97.可选地,在本实施例中,所述分配模块240具体用于:在当前正在运行的线程的类型为所述目标类型时,获得当前正在运行的线程本次获取到当前资源的时长;在所述时长不大于预设时长时,不进行抢占;在所述时长大于所述预设时长时,通过抢占方式将当前正在运行的线程的资源分配给所述等待队列中第一个待分配资源的线程,其中,第一个待分配资源的线程的虚拟运行时间为当前所述等待队列中所有待分配资源的线程中的最小虚拟运行时间。
98.可选地,在本实施例中,在类型为所述目标类型的目标线程运行之后,所述处理模块220还用于:根据所述目标线程的减小前的虚拟运行时间与减小后的虚拟运行时间之差、所述目标线程本次的运行时长,获得所述目标线程本次运行之后的真实虚拟运行时间。
99.可选地,上述模块可以软件或固件(firmware)的形式存储于图1所示的存储器110中或固化于电子设备100的操作系统(operating system,os)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
100.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的资源分配方法。
101.综上所述,本技术实施例提供了一种资源分配方法、装置、电子设备及可读存储介质,在有线程需要被添加到对应的基于红黑树的等待队列时,将该线程作为目标线程,并判断该目标线程是否为用户体验相关线程。若是,则减小该目标线程的虚拟运行时间,并根据得到的减小后的虚拟运行时间,将该目标线程添加至等待队列,进而采用完全公平调度策略,对添加有目标线程的等待队列中待分配资源的线程进行资源分配。由此,通过减小用户体验相关线程的虚拟运行时间,可对用户体验相关线程倾斜资源,从而加快用户体验相关线程获取到资源的速度,进而可缓解由于用户体验相关线程获取到资源的速度慢而导致界面卡顿的问题,提升用户体验。
102.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
103.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
104.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
105.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献