CN116382876A - 任务管理方法、装置、电子设备及介质 - Google Patents
任务管理方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116382876A CN116382876A CN202310489051.4A CN202310489051A CN116382876A CN 116382876 A CN116382876 A CN 116382876A CN 202310489051 A CN202310489051 A CN 202310489051A CN 116382876 A CN116382876 A CN 116382876A
- Authority
- CN
- China
- Prior art keywords
- task
- cpu
- management
- running
- period
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 285
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000036578 sleeping time Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种任务管理方法、装置、电子设备及介质,属于终端技术领域。其中,该方法包括:在CPU上运行第一任务的第一管理周期内,确定该第一任务是否具有第一权限;第一任务为CPU运行的后台任务;第一权限为访问电子设备的临界资源的权限;在第一任务具有第一权限的情况下,在第一管理周期内保持在CPU上运行第一任务,直至该第一任务释放该第一权限;或者,在第一任务不具有第一权限、且在第一管理周期内CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务。
Description
技术领域
本申请属于终端技术领域,具体涉及一种任务管理方法、装置、电子设备及介质。
背景技术
通常,随着电子设备上安装的应用程序的增加,电子设备需要处理的任务也会变得越来越复杂和繁重,为了确保前台应用程序运行的流畅性,中央处理器(CentralProcessing Unit,CPU)的调度器一般会在完全公平调度器(Completely Fair Scheduler,CFS)算法的调度下采用带宽控制(Bandwidth Control)机制对后台运行的应用程序进行控制。
但是,采用带宽控制机制,依然存在前台任务被后台任务阻塞,进而导致前台任务出现卡顿、响应慢。
因此,如何减少前台任务的阻塞,提升前台任务运行的流畅性是现在亟需解决的问题。
发明内容
本申请实施例的目的是提供一种任务管理方法,能够减少前台任务的阻塞,提升前台任务运行的流畅性。
第一方面,本申请实施例提供了一种任务管理方法,该方法包括:在CPU上运行第一任务的第一管理周期内,确定该第一任务是否具有第一权限;第一任务为CPU运行的后台任务;第一权限为访问电子设备的临界资源的权限;在第一任务具有第一权限的情况下,在第一管理周期内保持在CPU上运行第一任务,直至该第一任务释放该第一权限;或者,在第一任务不具有第一权限、且在第一管理周期内CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务。
第二方面,本申请实施例提供了一种任务处理装置,该任务处理装置包括:确定模块和运行管理模块。其中,确定模块,用于在CPU上运行第一任务的第一管理周期内,确定该第一任务是否具有第一权限,该第一任务为CPU运行的后台任务,该第一权限为访问任务管理装置的临界资源的权限。运行管理模块,用于在确定模块确定第一任务具有第一权限的情况下,在第一管理周期内保持在CPU上运行该第一任务,直至该第一任务释放该第一权限;或者,在确定模块确定第一任务不具有第一权限、且在第一管理周期内CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
在本申请实施例中,在电子设备的CPU上运行第一任务(该第一任务为CPU运行的后台任务)的第一管理周期内,确定该第一任务是否具有第一权限(该第一权限为访问电子设备的临界资源的权限)。在该第一任务具有第一权限的情况下,则在第一管理周期内保持在CPU上运行该第一任务,直至该第一任务释放该第一权限,从而避免了CPU运行的前台任务需要等待后台任务度过睡眠时间并释放第一权限才可以访问该临界资源,使得前台任务可以尽早被调度执行,减少了前台任务的阻塞,提升前台任务运行的流畅性。或者,在第一任务不具有第一权限、且在第一管理周期内CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务,从而对后台任务的运行时长进行了限制,减少了后台任务对CPU资源的占用,进一步提升了前台任务运行的流畅性。
附图说明
图1是本申请实施例提供的任务管理方法的流程示意图之一;
图2是本申请实施例提供的任务管理方法的流程示意图之二;
图3是本申请实施例提供的任务管理方法的流程示意图之三;
图4是本申请实施例提供的任务在CPU上运行的示意图之一;
图5是本申请实施例提供的任务在CPU上运行的示意图之二;
图6是本申请实施例提供的任务管理方法的流程示意图之四;
图7是本申请实施例提供的任务管理方法的流程示意图之五;
图8是本申请实施例提供的任务管理方法的流程示意图之六;
图9是本申请实施例提供的任务管理装置的结构示意图;
图10是本申请实施例提供的电子设备的结构示意图;
图11是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的任务管理方法、装置、电子设备及介质进行详细地说明。
本发明实施例提供的任务管理方法的执行主体可以为电子设备,也可以为该电子设备中能够实现该任务管理方法的功能模块和/或功能实体,以下将以电子设备为例对本申请实施例提供的技术方案进行说明。
图1示出了本申请实施例提供的一种任务管理方法的流程图。如图1所示,本申请实施例提供的一种任务管理方法可以包括下述的步骤101至步骤103。
步骤101、电子设备在CPU上运行第一任务的第一管理周期内,确定第一任务是否具有第一权限。
本申请实施例中,上述第一任务为CPU运行的后台任务。
可选地,本申请实施例中,当电子设备上同时运行多个应用程序时,由于电子设备的CPU在单位时间内能够处理的程序指令是有限的,当电子设备运行的应用程序过多时,就会导致CPU无法及时处理程序指令,从而造成CPU的负载过高,进而使得应用程序的运行出现卡顿。
可选地,本申请实施例中,当电子设备的CPU上运行的第一任务较多时,就会占用较多的系统资源,例如:内存、CPU的算力等。从而,导致在前台运行的程序出现卡顿。为了限制第一任务对CPU等系统资源的占用,电子设备可以在第一任务不具有第一权限,且在CPU上运行的时间超过一定时间后,强制第一任务进入睡眠状态。
需要说明是的,上述强制第一任务进入睡眠状态可以理解为:第一任务即使已经准备好运行,系统也并不分配CPU资源给第一任务使用。
本申请实施例中,第一任务从上一次睡眠状态结束到下一次睡眠状态结束的这段时间称为一个管理周期,一个管理周期可包括一个运行时间段和一个睡眠时间段。
可选地,本申请实施例中,在一个管理周期中,电子设备在运行时间段内保持在CPU上运行第一任务后,在睡眠时间段内,系统不向第一任务分配CPU资源,即使第一任务处于准备运行的状态。其中,睡眠时间段的时长是固定的,而运行时间段的时长并不固定,且运行时间段的时长和第一任务在管理周期中是否具有第一权限有关,在下述本申请的实施例中会具体说明,在此不予赘述。
可选地,本申请实施例中,在CPU上运行第一任务的运行总时长包括至少一个管理周期,第一管理周期为该至少一个管理周期中的任意一个。在CPU上运行第一任务的运行总时长可以理解为该第一任务的存活总时长。
需要说明的是,在CPU上运行第一任务的运行总时长包括在CPU上运行第一任务的时间与第一任务处于睡眠状态的时间的总和,即第一任务在CPU上的存活时长。第一任务在CPU上的运行总时长可以包括至少一个管理周期。
举例说明,假设第一任务在CPU上的运行总时长为100ms,预设每20ms为一个管理周期,则第一任务在CPU上的运行时间包括5个管理周期。其中,在一个管理周期中,电子设备在10ms内保持在CPU上运行第一任务后,在10ms内限制在CPU上运行第一任务;在另一个管理周期中,电子设备在15ms内保持在CPU上运行第一任务后,在10ms内限制在CPU上运行第一任务;在再一个管理周期中,电子设备在5ms内保持在CPU上运行第一任务后,在10ms内限制在CPU上运行第一任务。
本申请实施例中,上述第一权限为访问电子设备的临界资源的权限。
可以理解,在电子设备的系统中有许多不同类型的资源,其中有一些不可以被抢占的资源需要采用互斥访问的方法进行访问,这些资源就是临界资源,例如:打印机、数据文件、信号量等,为了保证数据的一致性和安全性,这些临界资源需要保证同一时刻只能有一个任务去访问。
可选地,本申请实施例中,电子设备可以确定第一任务是否具有访问电子设备的临界资源的权限,该临界资源需要保证同一时刻只能有一个任务去访问,具体地,上述第一权限可以为资源锁。
以下具体说明确定第一任务是否具有第一权限的前提条件。
可选地,本申请实施例中,结合图1,如图2所示,上述步骤101具体可以通过下述步骤101a来实现。
步骤101a、电子设备在CPU上运行第一任务和第二任务、CPU的负载参数大于或等于预设阈值、且第一任务与第二任务之间不存在依赖关系的情况下,在CPU上运行第一任务的第一管理周期内,确定第一任务是否具有第一权限。
本申请实施例中,上述负载参数用于指示CPU的负载情况,上述第二任务为该CPU运行的前台任务。
可选地,本申请实施例中,电子设备可以通过获取CPU的负载参数来确定自身的CPU的负载情况,CPU的负载参数可以为一个物理负载参数,例如:CPU的用电负载、CPU的运行温度等;也可以为一个逻辑负载,例如:CPU的平均负载、CPU的使用率等。
可选地,本申请实施例中,上述预设阈值可以为电子设备的CPU无法流畅地处理应用程序的程序指令时的CPU的负载参数。
进一步可选地,本申请实施例中,当电子设备的CPU上正在运行或者正在等待运行的任务数量较多,这些任务无法及时被CPU调度,应用程序的运行出现卡顿,在这种情况下可以根据此时CPU的运行状态来确定一个预设阈值。具体地,可以统计CPU负载较高时的运行温度、功耗,也可以统计CPU的平均负载、CPU的使用率等参数,以确定出预设阈值。
需要说明的是,上述“CPU的平均负载”可以理解为:单位时间内,系统处于可运行状态(正在使用CPU或者正在等待CPU)和不可中断状态的平均任务数。
可以理解,通过将电子设备某一时刻的CPU的负载参数和预设阈值进行比较,以确定当前CPU的负载是否过高,从而可以对CPU上运行的后台任务进行优化处理,以使得CPU能够流畅地处理前台应用程序的程序指令。
在一种示例中,假设预设阈值为:CPU的运行温度:35℃,当电子设备通过温度传感器获取到此时CPU的运行温度为45℃时,由于此时CPU的运行温度大于预设阈值,则认定此时电子设备的CPU的负载较高。
在另一种示例中,假设预设阈值为:CPU的平均负载:1分钟平均负载为0.7,当电子设备通过使用top命令、uptime命令查询到此时CPU的平均负载为:1分钟平均负载为1.2时,由于此时CPU的平均负载大于预设阈值,则认定此时电子设备的CPU的负载较高。
可选地,本申请实施例中,当电子设备的CPU为多核处理器时,电子设备优先选择将第一任务和第二任务分配给不同的CPU核来进行处理。
需要说明的是,上述“第一任务与第二任务之间是否存在依赖关系”可以理解为:第一任务的运行是否为第二任务的运行提供支持,即CPU运行的后台任务是否为CPU运行的前台任务提供数据支持,例如:当后台任务是一个加载并缓存视频数据的任务,而前台任务需要调用该后台任务提供的视频数据,以播放视频,则认定该后台任务和前台任务存在依赖关系。若此时对后台任务进行限制,则会影响前台任务的执行。
可选地,本申请实施例中,在第一任务与第二任务之间存在依赖关系的情况下,则电子设备不强制该第一任务进入睡眠状态,以使得第二任务可以正常调用该第一任务提供的数据。
可选地,本申请实施例中,在第一任务与第二任务之间不存在依赖关系的情况下,为了确保前台应用程序的流畅性和响应性,电子设备可以对该第一任务进行限制和优化。
如此可知,由于电子设备可以在CPU的负载参数大于或等于预设阈值、且前台任务与后台任务之间不存在依赖关系的情况下,通过确定后台任务是否具有第一权限,来决定是否对该后台任务进行系统资源限制,以使得在高负载场景下,对后台任务进行限制,保证前台任务可以流畅地运行。
电子设备可以设定一个时刻,来确定第一任务是否具有第一权限,以下进行具体说明。
可选地,本申请实施例中,结合图1,如图3所示,上述步骤101具体还可以通过下述步骤101b来实现。
步骤101b、电子设备在CPU上运行第一任务的第一管理周期的T1时刻,确定第一任务是否具有第一权限。
可选地,本申请实施例中,上述T1时刻和目标时长有关,该目标时长可以根据CPU的负载和算力来确定,也可以根据第一管理周期的上一个管理周期中,在CPU上运行第一任务的运行时间段的时长来确定。
进一步可选地,本申请实施例中,电子设备可以根据当前运行的前台应用程序的应用场景负载来确定目标时长,也可以根据CPU的性能参数来确定目标时长。
在一种示例中,若当前运行的前台应用程序的应用场景为需要使用较多CPU资源的应用场景,例如:游戏场景、图像处理等场景时,可以将目标时长设定为较小的时长,例如:设定目标时长为5ms;若当前运行的前台应用程序的应用场景为需要使用较少CPU资源的应用场景,例如:会话场景、文本阅读等场景时,可以将目标时长设定为较大的时长,例如:设定目标时长为10ms。
在另一种示例中,若电子设备的CPU的性能参数较优,例如:CPU的核数为多核、CPU的主频为6GHz时,可以将目标时长设定为较大的时长,例如:目标时长为10ms;若电子设备的CPU的性能参数较差,例如:CPU的核数为单核、CPU的主频为2GHz时,可以将目标时长设定为较小的时长,例如:目标时长为5ms。
可选地,本申请实施例中,上述T1时刻可以为从第一管理周期的起始时刻经过目标时长之后的时刻。
举例说明,如图4所示,假设第一任务为任务A,任务A是一个在CPU上运行的后台任务,目标时长设定为10ms。该任务A在CPU上的运行总时长包括N个管理周期,每个管理周期都包括一个运行时间段和睡眠时间段。假设第一管理周期为N个管理周期中的第1个管理周期,从第1个管理周期的起始时刻经过目标时长10ms之后的时刻为t1时刻(即T1时刻),由于第一任务在t1时刻之前未持有资源锁,则在t1时刻,电子设备确定第一任务不具有第一权限。又假设第一管理周期为N个管理周期中的第2个管理周期,从第2个管理周期的起始时刻经过目标时长10ms之后的时刻为t2时刻(即T1时刻),由于第一任务在t2时刻之前的t3时刻持有了资源锁,即第一任务在t3时刻已经具有了第一权限,则在t2时刻,电子设备确定第一任务具有第一权限。
可选地,本申请实施例中,电子设备还可以根据第一管理周期的上一个管理周期中,在CPU上运行第一任务的运行时间段的时长来确定T1时刻。
进一步可选地,本申请实施例中,若第一管理周期的上一个管理周期中,在CPU上运行第一任务的时长为第一目标时长,且第一目标时长大于目标时长,则第一管理周期中,在CPU上运行第一任务的时长为第二目标时长,且第二目标时长小于目标时长,则T1时刻为从第一管理周期的起始时刻经过第二目标时长之后的时刻。可选地,第一目标时长和第二目标时长的均值等于目标时长。
需要说明的是,根据第一目标时长确定第二目标时长的过程在下述实施例中会具体说明,在此不予赘述。
举例说明,结合图4所示,假设假设第一任务为任务A,任务A是一个在CPU上运行的后台任务,目标时长设定为10ms。该任务A在CPU上的运行总时长包括N个管理周期。又假设第一管理周期为N个管理周期中的第3个管理周期,在第2个管理周期中,在CPU上运行第一任务的第一目标时长T2为15ms,则第3个管理周期中,在CPU上运行第一任务的第二目标时长T3为5ms,且从第3个管理周期的起始时刻经过第二目标时长5ms之后的时刻为为t4时刻(即T1时刻),由于第一任务在t4时刻之前未持有资源锁,则在t4时刻,电子设备确定第一任务不具有第一权限。
如此可知,由于电子设备每个管理周期的T1时刻,都会确定第一任务是否具有第一权限,从而确定在该管理周期内,在CPU上运行第一任务的时长,进而保证第一任务不会在具有第一权限的情况下,进入限制状态。
步骤102、电子设备在第一任务具有第一权限的情况下,在第一管理周期内保持在CPU上运行第一任务,直至第一任务释放第一权限。
可选地,本申请实施例中,第一任务从第一管理周期的起始时间开始运行,若在第一管理周期的T1时刻,确定第一任务具有第一权限,则电子设备继续保持该第一任务在CPU上运行一段时间,直至该第一任务释放第一权限。
可以理解,第一任务在CPU上运行目标时长后,若第一任务在第T1时刻仍具有第一权限,则电子设备保持该第一任务在CPU上继续运行,即在第一管理周期中,在CPU上运行第一任务的时长可以大于目标时长。
本申请实施例中,在第一任务具有第一权限的情况下,电子设备不会对该第一任务的运行时间限定配额,而是保持在CPU上运行第一任务,直至释放该第一权限,从而使前台任务无需在第一任务的睡眠时间段期间等待,并可以尽早获得该第一权限,进而访问临界资源。
举例说明,如图5所示,假设第一任务为任务A,任务A是一个在CPU上运行的后台任务,任务B是一个在CPU上运行的前台任务,在第n个管理周期内,任务A在运行到时间t1时,持有了资源锁并开始访问临界资源。在时间t2时,任务B也需要访问该临界资源,而申请该资源锁。则电子设备保持在CPU上运行任务A,直至在时间t3时释放该资源锁后,任务A才被限制运行。同时,任务B在时间t3时,持有了该资源锁,并访问临界资源,缩短了等待资源锁的时间。
步骤103、电子设备在第一任务不具有第一权限、且第一管理周期内在CPU上运行第一任务的时长大于或者等于第一时长的情况下,暂停在CPU上运行第一任务。
可选地,本申请实施例中,上述第一时长可以为第一管理周期的起始时刻到T1时刻之间的时长。
在一种示例中,第一管理周期内,T1时刻为从第一管理周期的起始时刻经过目标时长之后的时刻,即第一时长等于目标时长。若第一任务在CPU上运行的时长大于或者等于目标时长后,且此时第一任务释放了第一权限,则暂停第一任务在CPU上运行一段时间,即下述实施例中的第三时长。其中,第三时长为一个固定的时长,电子设备可以根据当前运行的前台应用程序的应用场景负载来确定第三时长,也可以根据CPU的性能参数来确定第三时长。
需要说明的是,当前台应用程序的应用场景负载较大时,可以将第三时长设定为较大的时长;若电子设备的CPU的性能参数较优时,可以将第三时长设定为较小的时长,第三时长的确定过程具体可以参考上述目标时长的确定过程,在此不予赘述。
举例说明,结合图4所示,假设第一任务是任务A,任务A是一个在CPU上运行的后台任务,目标时长T4设定为10ms,第三时长T5为10ms。该任务A在CPU上的运行总时长包括N个管理周期,第一管理周期为N个管理周期中的第1个管理周期,从第1个管理周期的起始时刻经过目标时长T4之后到达t1时刻,由于第一任务在t1时刻不具有第一权限,且在CPU上运行第一任务的时长等于目标时长(即第一时长),则在第三时长T5内,电子设备暂停在CPU上运行第一任务。又假设第一管理周期为N个管理周期中的第2个管理周期,从第2个管理周期的起始时刻经过15ms之后到达t5时刻,由于第一任务在t5时刻释放了资源锁,即第一任务在t5时刻不具有第一权限,且在CPU上运行第一任务的时长大于目标时长T4(即第一时长),则在第三时长T5内,电子设备暂停在CPU上运行第一任务。其中,第三时长T5可以为:t5时刻至第2个管理周期的结束时刻之间的时长。
在另一种示例中,第一管理周期内,T1时刻为从第一管理周期的起始时刻经过第二目标时长之后的时刻,由于第二目标时长小于目标时长,所以第一时长小于目标时长。若第一任务在CPU上运行第二目标时长后,且此时第一任务释放了第一权限,则暂停第一任务在CPU上运行一段时间。
举例说明,结合图4所示,假设第一任务是任务A,任务A是一个在CPU上运行的后台任务,目标时长设定为10ms。该任务A在CPU上的运行总时长包括N个管理周期。又假设第一管理周期为N个管理周期中的第3个管理周期,在第2个管理周期中,在CPU上运行第一任务的第一目标时长T2为15ms,则第3个管理周期中,在CPU上运行第一任务的第二目标时长T3为5ms,且从第3个管理周期的起始时刻经过第二目标时长T3之后到达t4时刻,由于第一任务在t4时刻不具有第一权限,且在CPU上运行第一任务的时长大于第二目标时长T3(即第一时长),则在第三时长T5内,电子设备暂停在CPU上运行第一任务。其中,第三时长T5可以为:t4时刻至第3个管理周期的结束时刻之间的时长。
在本申请实施例中,在第一任务不具有第一权限的情况下,电子设备在第一任务在CPU上运行一段时间后,会强制第一任务进入睡眠状态,从而对后台任务的运行时长进行了限制,减少了后台任务对CPU资源的占用,进一步提升了前台任务运行的流畅性。
在本申请实施例提供的任务处理方法,在电子设备的CPU上运行第一任务(该第一任务为CPU运行的后台任务)的第一管理周期内,确定该第一任务是否具有第一权限(该第一权限为访问电子设备的临界资源的权限)。在该第一任务具有第一权限的情况下,则在第一管理周期内保持在CPU上运行该第一任务,直至该第一任务释放该第一权限,从而避免了CPU运行的前台任务需要等待后台任务度过睡眠时间并释放第一权限才可以访问该临界资源,使得前台任务可以尽早被调度执行,减少了前台任务的阻塞,提升前台任务运行的流畅性。或者,在第一任务不具有第一权限、且在第一管理周期内CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务,从而对后台任务的运行时长进行了限制,减少了后台任务对CPU资源的占用,进一步提升了前台任务运行的流畅性。
以下具体说明在相连的两个管理周期内,电子设备是如何对后台任务在CPU上的运行时间进行限制的。
可选地,本申请实施例中,结合图1,如图6所示,上述步骤102具体可以通过下述步骤102a来实现,在上述步骤102a之后,本申请实施例提供的任务管理方法还可以包括下述的步骤201。
步骤102a、电子设备在第一管理周期的第二时长内,保持在CPU上运行第一任务。
本申请实施例中,上述第二时长为:第一管理周期的起始时间至释放第一权限的时间之间的时长。
可选地,本申请实施例中,第一任务从第一管理周期的起始时间开始运行,若在第一管理周期内,第一任务在CPU上运行目标时长后,若第一任务在第T1时刻仍具有第一权限,则电子设备继续保持该第一任务在CPU上运行第五时长,直至该第一任务释放第一权限。
可以理解,若第一任务在CPU上运行目标时长后,仍具有第一权限,则电子设备保持该第一任务在CPU上继续运行,而不强制第一任务进入睡眠状态,即在第一管理周期中,在CPU上运行第一任务的时长可以大于目标时长。
举例说明,结合图4所示,假设第一任务为任务A,任务A是一个在CPU上运行的后台任务,目标时长设定为10ms。该任务A在CPU上的运行总时长包括N个管理周期,第一管理周期为N个管理周期中的第2个管理周期。从第2个管理周期的起始时刻t6开始,在CPU上运行第一任务的时长达到目标时长10ms后,在t2时刻,第一任务仍具有第一权限,则电子设备继续保持该第一任务在CPU上运行第五时长T6,第五时长T6为5ms,直至t5时刻该第一任务释放第一权限。其中,第二时长为15ms,即第2个管理周期的起始时刻t6到t5时刻之间的时长。
步骤201、电子设备在第一管理周期的第三时长内,暂停在CPU上运行第一任务。
本申请实施例中,上述第三时长为:释放第一权限的时间至第一管理周期的结束时间之间的时长。
可选地,本申请实施例中,第一任务在CPU上运行第二时长后,在第三时长内进入睡眠状态,在第一任务处于睡眠状态下,第一任务等待系统分配CPU资源。
其中,上述至少一个管理周期中的任意一个管理周期内的第三时长是固定不变的。
举例说明,结合图4所示,假设第一任务为任务A,任务A是一个在CPU上运行的后台任务,目标时长设定为10ms,第三时长T5设定为10ms。又假设该任务A在CPU上的运行总时长包括N个管理周期,第一管理周期为N个管理周期中的第2个管理周期。在第2个管理周期中,在CPU上运行第一任务的第二时长为:从第2个管理周期的起始时刻t6开始,直至t5时刻第一任务释放第一权限。在t5时刻之后,任务A在第三时长T5内保持限制运行状态,直至第一管理周期的结束时间t7。其中,第三时长为10ms,即t5时刻到t7时刻之间的时长。
如此可知,由于电子设备可以从一个管理周期的起始时间开始,保持在CPU上运行后台任务直至释放第一权限后,强制第一任务进入睡眠状态,以对后台任务在CPU上的运行时长进行限制,也即即使第一任务释放第一权限后准备继续运行,也不会继续给第一任务分配资源,从而可以降低后台任务在CPU上运行时间的绝对占比,进而为前台任务提供更多CPU算力。
可选地,本申请实施例中,结合图6,如图7所示,在上述步骤201之后,本申请实施例提供的任务管理方法还可以包括下述的步骤301。
步骤301、电子设备在第二管理周期的第四时长内,保持在CPU上运行第一任务。
本申请实施例中,上述第四时长小于第二时长;上述第二管理周期为第一管理周期的下一个管理周期,第一任务在该第二管理周期内不具有第一权限。
可选地,本申请实施例中,在第一管理周期内,若电子设备保持在CPU上运行第一任务的第二时长超过了目标时长,则在第一管理周期的下一个管理周期内,电子设备缩短在CPU上运行第一任务的时长,以使得至少一个管理周期中,第一任务的平均运行时长是相等的,且该平均运行时长为目标时长。
需要说明的是,上述“平均运行时长”可以理解为:至少一个管理周期的所有运行时间段的时长总和,除以至少一个管理周期的管理周期数量,得到的运行时长。
如此可知,由于电子设备可以控制至少一个管理周期中,第一任务的平均运行时长为目标时长,从而可以降低后台任务在CPU上运行时间的绝对占比,进一步提升了前台任务运行的流畅性。
以下具体说明第四时长的确定过程。
可选地,本申请实施例中,结合图7,如图8所示,在上述步骤301之前,本申请实施例提供的任务管理方法还可以包括下述的步骤401和步骤402。
步骤401、电子设备根据第二时长和目标时长之间的差值,确定第五时长。
可选地,本申请实施例中,在第一管理周期后,电子设备可以对第一管理周期内的第二时长进行记录,并将第二时长和目标时长相减,得到第二时长和目标时长之间的差值,即为第五时长。
步骤402、电子设备根据目标时长和第五时长,确定第四时长。
可选地,本申请实施例中,在第二管理周期开始前,电子设备可以根据第五时长,并将目标时长和第五时长相减,得到目标时长和第五时长之间的差值,即为第四时长。
在一种示例中,电子设备将目标时长和第五时长相减,得到第四时长的值为0,即第一管理周期内的第二时长为两倍目标时长的情况下,则在第二管理周期内,第一任务不运行,直接进入限制状态,经过第三时长后,直至第二管理周期结束。
在另一种示例中,电子设备将目标时长和第五时长相减,得到第四时长的值为正数值,则在第二管理周期内,第一任务在CPU上运行第四时长后,进入限制状态,经过第三时长后,直至第二管理周期结束。
举例说明,结合图4所示,假设第一任务为任务A,任务A是一个在CPU上运行的后台任务,目标时长T4设定为10ms,第三时长T5为10ms。该任务A在CPU上的运行总时长包括N个管理周期。又假设第一管理周期为N个管理周期中的第2个管理周期,在第2个管理周期中,在CPU上运行第一任务的第一第二时长为T2,T2为15ms,则第3个管理周期(即第二管理周期)开始前,电子设备根据第二时长T2和目标时长T4的差值确定第四时长为5ms。则从第3个管理周期开始,在CPU上运行第一任务5ms后到达t4时刻,且第一任务在t4时刻不具有第一权限,则在第三时长T5内,电子设备暂停在CPU上运行第一任务。
如此可知,若在第一管理周期内,电子设备在CPU上运行第一任务的第一时长较长,则在第一管理周期的下一个管理周期内,缩短在CPU上运行第一任务的时长,从而降低了后台任务在CPU上运行时间的绝对占比,提升了前台任务运行的流畅性。
本申请实施例提供的方法,执行主体可以为任务管理装置。本申请实施例中是以任务管理装置执行任务管理方法为例,说明本申请实施例提供的任务管理装置。
图9示出了上述实施例中所涉及的一种任务管理装置60,该装置包括:确定模块61和运行管理模块62。其中,确定模块61,用于在CPU上运行第一任务的第一管理周期内,确定该第一任务是否具有第一权限,该第一任务为CPU运行的后台任务,该第一权限为访问电子设备的临界资源的权限。运行管理模块62,用于在确定模块确定第一任务具有第一权限的情况下,在第一管理周期内保持在CPU上运行该第一任务,直至该第一任务释放该第一权限;或者,在确定模块确定第一任务不具有第一权限、且第一管理周期内在CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务。
在一种可能的实现方式中,在CPU上运行第一任务的运行总时长包括至少一个管理周期,第一管理周期为该至少一个管理周期中的任意一个。
在一种可能的实现方式中,上述确定模块,具体用于在CPU上运行第一任务的第一管理周期的T1时刻,确定该第一任务是否具有该第一权限。
在一种可能的实现方式中,上述运行管理模块,具体用于在第一管理周期的第二时长内,保持在CPU上运行第一任务,该第二时长为:第一管理周期的起始时间至释放第一权限的时间之间的时长。上述运行管理模块,还用于在第一管理周期的第三时长内,暂停在CPU上运行第一任务,该第三时长为:释放第一权限的时间至第一管理周期的结束时间之间的时长。
在一种可能的实现方式中,上述运行管理模块,还用于在第二管理周期的第四时长内,保持在CPU上运行第一任务,该第四时长小于第二时长。其中,第二管理周期为第一管理周期的下一个管理周期,第一任务在第二管理周期内不具有第一权限。
在一种可能的实现方式中,上述确定模块,还具体用于在CPU上运行第一任务和第二任务、CPU的负载参数大于或等于预设阈值、且该第一任务与该第二任务之间不存在依赖关系的情况下,在CPU上运行第一任务的第一管理周期内,确定该第一任务是否具有第一权限,负载参数用于指示CPU的负载情况,第二任务为CPU运行的前台任务。
本申请实施例提供的任务管理装置,在任务管理装置的CPU上运行第一任务(该第一任务为CPU运行的后台任务)的第一管理周期内,确定该第一任务是否具有第一权限(该第一权限为访问电子设备的临界资源的权限)。在该第一任务具有第一权限的情况下,则在第一管理周期内保持在CPU上运行该第一任务,直至该第一任务释放该第一权限,从而避免了CPU运行的前台任务需要等待后台任务度过睡眠时间并释放第一权限才可以访问该临界资源,使得前台任务可以尽早被调度执行,减少了前台任务的阻塞,提升前台任务运行的流畅性。或者,在第一任务不具有第一权限、且在第一管理周期内CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务,从而对后台任务的运行时长进行了限制,减少了后台任务对CPU资源的占用,进一步提升了前台任务运行的流畅性。
本申请实施例中的任务管理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(mobile internet device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(network attached storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的任务管理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的任务管理装置能够实现图1至图8的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,本申请实施例中,如图10所示,本申请实施例还提供一种电子设备80,包括处理器81和存储器82,存储器82上存储有可在所述处理器81上运行的程序或指令,该程序或指令被处理器81执行时实现上述方法实施例的各个过程步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
图11为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备100包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器110等部件。
本领域技术人员可以理解,电子设备100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图11中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器110,具体用于在CPU上运行第一任务的第一管理周期内,确定该第一任务是否具有第一权限;第一任务为CPU运行的后台任务;第一权限为访问电子设备的临界资源的权限;在第一任务具有第一权限的情况下,在第一管理周期内保持在CPU上运行第一任务,直至该第一任务释放该第一权限;或者,在第一任务不具有第一权限、且在第一管理周期内CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务。
本申请实施例提供的电子设备,在电子设备的CPU上运行第一任务(该第一任务为CPU运行的后台任务)的第一管理周期内,确定该第一任务是否具有第一权限(该第一权限为访问电子设备的临界资源的权限)。在该第一任务具有第一权限的情况下,则在第一管理周期内保持在CPU上运行该第一任务,直至该第一任务释放该第一权限,从而避免了CPU运行的前台任务需要等待后台任务度过睡眠时间并释放第一权限才可以访问该临界资源,使得前台任务可以尽早被调度执行,减少了前台任务的阻塞,提升前台任务运行的流畅性。或者,在第一任务不具有第一权限、且在第一管理周期内CPU上运行该第一任务的时长大于或者等于第一时长的情况下,暂停在该CPU上运行该第一任务,从而对后台任务的运行时长进行了限制,减少了后台任务对CPU资源的占用,进一步提升了前台任务运行的流畅性。
可选地,本申请实施例中,处理器110,具体用于在CPU上运行第一任务的第一管理周期的T1时刻,确定该第一任务是否具有第一权限。
如此可知,由于电子设备每个管理周期的T1时刻,都会确定第一任务是否具有第一权限,从而确定在该管理周期内,在CPU上运行第一任务的时长,进而保证第一任务不会在具有第一权限的情况下,进入限制状态。
可选地,本申请实施例中,处理器110,具体用于在第一管理周期的第二时长内,保持在CPU上运行第一任务,第二时长为:第一管理周期的起始时间至释放第一权限的时间之间的时长;在第一管理周期的第三时长内,暂停在CPU上运行第一任务,第三时长为:释放第一权限的时间至第一管理周期的结束时间之间的时长。
如此可知,由于电子设备可以从一个管理周期的起始时间开始,保持在CPU上运行后台任务直至释放第一权限后,强制第一任务进入睡眠状态,以对后台任务在CPU上的运行时长进行限制,从而可以降低后台任务在CPU上运行时间的绝对占比,进而为前台任务提供更多CPU算力。
可选地,本申请实施例中,处理器110,具体用于在第二管理周期的第四时长内,保持在CPU上运行第一任务,该第四时长小于第二时长;其中,第二管理周期为第一管理周期的下一个管理周期,该第一任务在第二管理周期内不具有第一权限。
如此可知,由于电子设备可以控制至少一个管理周期中,第一任务的平均运行时长为目标时长,从而可以降低后台任务在CPU上运行时间的绝对占比,进一步提升了前台任务运行的流畅性。
可选地,本申请实施例中,处理器110,具体用于在CPU上运行第一任务和第二任务、CPU的负载参数大于或等于预设阈值、且该第一任务与该第二任务之间不存在依赖关系的情况下,在CPU上运行第一任务的第一管理周期内,确定该第一任务是否具有第一权限,负载参数用于指示CPU的负载情况,第二任务为CPU运行的前台任务。
如此可知,由于电子设备可以在CPU的负载参数大于或等于预设阈值、且前台任务与后台任务之间不存在依赖关系的情况下,通过确定后台任务是否具有第一权限,来决定是否对该后台任务进行系统资源限制,以使得在高负载场景下,对后台任务进行限制,保证前台任务可以流畅地运行。
应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(graphicsprocessing unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板1061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板1061。用户输入单元1007包括触控面板1071以及其他输入设备1072中的至少一种。触控面板1071,也称为触摸屏。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器1009可用于存储软件程序以及各种数据。存储器1009可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1009可以包括易失性存储器或非易失性存储器,或者,存储器1009可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。本申请实施例中的存储器1009包括但不限于这些和任意其它适合类型的存储器。
处理器110可包括一个或多个处理单元;可选的,处理器110集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (14)
1.一种任务管理方法,其特征在于,所述方法包括:
在CPU上运行第一任务的第一管理周期内,确定所述第一任务是否具有第一权限;所述第一任务为所述CPU运行的后台任务;所述第一权限为访问所述电子设备的临界资源的权限;
在所述第一任务具有所述第一权限的情况下,在所述第一管理周期内保持在所述CPU上运行所述第一任务,直至所述第一任务释放所述第一权限;或者,
在所述第一任务不具有所述第一权限、且在所述第一管理周期内所述CPU上运行所述第一任务的时长大于或者等于第一时长的情况下,暂停在所述CPU上运行所述第一任务。
2.根据权利要求1所述的方法,其特征在于,在所述CPU上运行所述第一任务的总时长包括至少一个管理周期,所述第一管理周期为所述至少一个管理周期中的任意一个。
3.根据权利要求1所述的方法,其特征在于,所述在CPU上运行第一任务的第一管理周期内,确定所述第一任务是否具有第一权限,包括:
在所述CPU上运行所述第一任务的所述第一管理周期的T1时刻,确定所述第一任务是否具有所述第一权限。
4.根据权利要求1所述的方法,其特征在于,所述在所述第一管理周期内保持在所述CPU上运行所述第一任务,直至所述第一任务释放所述第一权限,包括:
在所述第一管理周期的第二时长内,保持在所述CPU上运行所述第一任务,所述第二时长为:所述第一管理周期的起始时间至释放所述第一权限的时间之间的时长;
所述在所述第一管理周期的第二时长内,保持在所述CPU上运行所述第一任务之后,所述方法还包括:
在所述第一管理周期的第三时长内,暂停在所述CPU上运行所述第一任务,所述第三时长为:释放所述第一权限的时间至所述第一管理周期的结束时间之间的时长。
5.根据权利要求4所述的方法,其特征在于,在所述第一管理周期的所述第三时长内,暂停在所述CPU上运行所述第一任务之后,所述方法还包括:
在第二管理周期的第四时长内,保持在所述CPU上运行所述第一任务,所述第四时长小于所述第二时长;
其中,所述第二管理周期为所述第一管理周期的下一个管理周期,所述第一任务在所述第二管理周期内不具有所述第一权限。
6.根据权利要求1所述的方法,其特征在于,所述在CPU上运行第一任务的第一管理周期内,确定所述第一任务是否具有第一权限,包括:
在CPU上运行所述第一任务和第二任务、所述CPU的负载参数大于或等于预设阈值、且所述第一任务与所述第二任务之间不存在依赖关系的情况下,在所述CPU上运行第一任务的第一管理周期内,确定所述第一任务是否具有所述第一权限,所述负载参数用于指示所述CPU的负载情况,所述第二任务为所述CPU运行的前台任务。
7.一种任务管理装置,其特征在于,所述任务管理装置包括:确定模块和运行管理模块;
所述确定模块,用于在CPU上运行第一任务的第一管理周期内,确定所述第一任务是否具有第一权限;所述第一任务为所述CPU运行的后台任务;所述第一权限为访问所述任务管理装置的临界资源的权限;
所述运行管理模块,用于在所述确定模块确定所述第一任务具有所述第一权限的情况下,在所述第一管理周期内保持在所述CPU上运行所述第一任务,直至所述第一任务释放所述第一权限;或者,在所述确定模块确定所述第一任务不具有所述第一权限、且在所述第一管理周期内所述CPU上运行所述第一任务的时长大于或者等于第一时长的情况下,暂停在所述CPU上运行所述第一任务。
8.根据权利要求7所述的任务管理装置,其特征在于,在所述CPU上运行所述第一任务的运行总时长包括至少一个管理周期,所述第一管理周期为所述至少一个管理周期中的任意一个。
9.根据权利要求7所述的任务管理装置,其特征在于,所述确定模块,具体用于在所述CPU上运行所述第一任务的所述第一管理周期的T1时刻,确定所述第一任务是否具有所述第一权限。
10.根据权利要求7所述的任务管理装置,其特征在于,所述运行管理模块,具体用于在在所述第一管理周期的第二时长内,保持在所述CPU上运行所述第一任务,所述第二时长为:所述第一管理周期的起始时间至释放所述第一权限的时间之间的时长;
所述运行管理模块,还用于在所述第一管理周期的第三时长内,暂停在所述CPU上运行所述第一任务,所述第三时长为:释放所述第一权限的时间至所述第一管理周期的结束时间之间的时长。
11.根据权利要求10所述的任务管理装置,其特征在于,所述运行管理模块,还用于在第二管理周期的第四时长内,保持在所述CPU上运行所述第一任务,所述第四时长小于所述第二时长;
其中,所述第二管理周期为所述第一管理周期的下一个管理周期,所述第一任务在所述第二管理周期内不具有所述第一权限。
12.根据权利要求7所述的任务管理装置,其特征在于,所述确定模块,具体用于在所述CPU上运行所述第一任务和第二任务、所述CPU的负载参数大于或等于预设阈值、且所述第一任务与所述第二任务之间不存在依赖关系的情况下,在所述CPU上运行第一任务的第一管理周期内,确定所述第一任务是否具有所述第一权限,所述负载参数用于指示所述CPU的负载情况,所述第二任务为所述CPU运行的前台任务。
13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至6中任一项所述的任务管理方法的步骤。
14.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6中任一项所述的任务管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310489051.4A CN116382876A (zh) | 2023-04-28 | 2023-04-28 | 任务管理方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310489051.4A CN116382876A (zh) | 2023-04-28 | 2023-04-28 | 任务管理方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116382876A true CN116382876A (zh) | 2023-07-04 |
Family
ID=86971120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310489051.4A Pending CN116382876A (zh) | 2023-04-28 | 2023-04-28 | 任务管理方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116382876A (zh) |
-
2023
- 2023-04-28 CN CN202310489051.4A patent/CN116382876A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955765B (zh) | 应用预加载方法及装置 | |
JP6199477B2 (ja) | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 | |
KR102313882B1 (ko) | 애플리케이션 시작 방법 및 장치 | |
US9201693B2 (en) | Quota-based resource management | |
CA2795489C (en) | Opportunistic multitasking | |
CN110300328B (zh) | 一种视频播放控制方法、装置及可读存储介质 | |
TW201411488A (zh) | 在作業系統中藉由多個程序對現場可程式設計閘陣列的使用的管理 | |
CN115576645B (zh) | 一种虚拟处理器调度方法、装置、存储介质及电子设备 | |
US9229716B2 (en) | Time-based task priority boost management using boost register values | |
KR20200125258A (ko) | 어플리케이션 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체 | |
WO2023130866A1 (zh) | 操作系统的切换方法及装置、电子设备、存储介质 | |
CN111831443A (zh) | 处理器状态调整方法、装置、存储介质及电子设备 | |
CN116382876A (zh) | 任务管理方法、装置、电子设备及介质 | |
KR102619117B1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
CN114741175A (zh) | 任务执行方法、装置、中心节点和下游节点设备 | |
CN113495787A (zh) | 资源分配方法、装置、存储介质及电子设备 | |
CN115080158A (zh) | 界面显示方法、装置、终端设备及计算机可读存储介质 | |
CN111427654A (zh) | 一种指令处理方法及装置 | |
CN116302485A (zh) | Cpu调度方法、装置、电子设备及可读存储介质 | |
CN117149391A (zh) | 线程管理方法、装置及电子设备 | |
CN111767153B (zh) | 资源访问方法、装置及电子设备 | |
US20220292627A1 (en) | Method and electronic device for boosting graphics performance | |
CN117493004A (zh) | 线程控制方法、装置、电子设备及存储介质 | |
CN115964180A (zh) | 任务调度方法、装置和电子设备 | |
WO2022196997A1 (en) | Method and electronic device for boosting graphics performance |
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 |