线程调度方法技术

技术编号:39845851 阅读:8 留言:0更新日期:2023-12-29 16:43
本申请公开了一种线程调度方法

【技术实现步骤摘要】
线程调度方法、装置、电子设备及存储介质


[0001]本申请属于电子
,具体涉及一种线程调度方法

装置

电子设备及存储介质


技术介绍

[0002]目前,随着电子设备中的应用程序的功能的增加,应用程序所占用的电子设备的系统资源也越来越多,例如中央处理器
(Central Processing Unit

CPU)
占用率,进而导致电子设备的功耗也越来越大

[0003]相关技术中,电子设备可以获取已经启动的应用程序的运行状态,例如,前台运行或后台运行;从而从中确定出处于后台运行的应用程序,并通过清除该后台运行的应用程序对应的进程来停止运行该后台运行的应用程序,以减少电子设备的功耗

[0004]然而,在前台运行的应用程序中,除了必要的前台业务,例如显示业务,会消耗电量外,一些不必要的后台业务,例如监听业务,也在不断地消耗电量,导致电子设备的功耗仍然较大


技术实现思路

[0005]本申请实施例的目的是提供一种线程调度方法

装置

电子设备及存储介质,能够减少电子设备的功耗

[0006]第一方面,本申请实施例提供了一种线程调度方法,该线程调度方法包括:获取第一进程的前台业务对应的至少一个第一线程组;基于至少一个第一线程组和第一进程的线程,确定第一进程的后台业务对应的至少一个第二线程组;调度至少一个第一线程组中的线程,或调度至少一个第二线程组中的目标线程组中的线程;其中,目标线程组的调度优先级高于至少一个第二线程组中的除目标线程组以外的其他线程组的调度优先级

[0007]第二方面,本申请实施例提供了一种线程调度装置,该线程调度装置包括:获取模块

确定模块和调度模块

获取模块,获取第一进程的前台业务对应的至少一个第一线程组

确定模块,用于基于获取模块获取的至少一个第一线程组和第一进程的线程,确定第一进程的后台业务对应的至少一个第二线程组

调度模块,用于调度至少一个第一线程组中的线程,或调度至少一个第二线程组中的目标线程组中的线程;其中,目标线程组的调度优先级高于至少一个第二线程组中的除目标线程组以外的其他线程组的调度优先级

[0008]第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤

[0009]第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤

[0010]第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方


[0011]第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法

[0012]在本申请实施例中,由于电子设备可以从第一进程的线程中,区分出前台业务对应的线程组和后台业务对应的线程组,从而电子设备在进行线程调度时,可以针对前台业务对应的线程组或后台业务对应的线程组中的线程进行单独的调度,也就是说,电子设备在运行第一进程时,电子设备可以只运行前台业务中的线程或后台业务中的线程,也即,电子设备在执行第一进程对应的操作时,无需完整的运行第一进程中的所有线程,而且,电子设备可以基于上述调度优先级,调度后台业务中的部分业务,无需运行完整的后台业务,如此,减少了电子设备的功耗

附图说明
[0013]图1是本申请实施例提供的一种进程与线程之间的关系的示意图;
[0014]图2是本申请实施例提供的一种线程调度方法的流程图之一;
[0015]图3是本申请实施例提供的一种线程调度方法的流程图之二;
[0016]图4是本申请实施例提供的一种线程调度方法的流程图之三;
[0017]图5是本申请实施例提供的一种线程调度方法的实例图之一;
[0018]图6是本申请实施例提供的一种线程调度方法的实例图之二;
[0019]图7是本申请实施例提供的一种线程调度方法的流程图之四;
[0020]图8是本申请实施例提供的一种线程调度方法的流程图之五;
[0021]图9是本申请实施例提供的一种线程调度方法的实例图之三;
[0022]图
10
是本申请实施例提供的一种线程调度装置的结构示意图;
[0023]图
11
是本申请实施例提供的一种电子设备的硬件结构示意图之一;
[0024]图
12
是本申请实施例提供的一种电子设备的硬件结构示意图之二

具体实施方式
[0025]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例

基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围

[0026]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序

应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个

此外,说明书以及权利要求中“和
/
或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系

[0027]本申请的说明书和权利要求书中的术语“至少一个
(

)”、“至少之一”等指其包含对象中的任意一个

任意两个或两个以上的组合

例如,
a、b、c
中的至少一个
(

)
,可以表示:“a”、“b”、“c”、“a

b”、“a

c”、“b

c”以及“a、b

c”,其中
a

b

c
可以是单个,也可以是多个

同理,“至少两个
(

)”是指两个或两个以上,其表达的含义与“至少一个
(

)”类似

[0028]下面本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种线程调度方法,其特征在于,所述方法包括:获取第一进程的前台业务对应的至少一个第一线程组;基于所述至少一个第一线程组和所述第一进程的线程,确定所述第一进程的后台业务对应的至少一个第二线程组;调度所述至少一个第一线程组中的线程,或调度所述至少一个第二线程组中目标线程组中的线程;其中,所述目标线程组的调度优先级高于所述至少一个第二线程组中的除所述目标线程组以外的其他线程组的调度优先级
。2.
根据权利要求1所述的方法,其特征在于,所述获取第一进程的前台业务对应的至少一个第一线程组,包括:在接收到用于触发所述第一进程的第一输入的情况下,获取所述第一输入对应的第一前台业务的至少一个第三线程组,以及获取目标操作的执行结果对应的第二前台业务的至少一个第四线程组;其中,所述至少一个第一线程组包括所述至少一个第三线程组和所述至少一个第四线程组,所述目标操作为所述第一输入对应的操作
。3.
根据权利要求1或2所述的方法,其特征在于,所述获取第一进程的前台业务对应的至少一个第一线程组,包括:获取所述第一进程的前台业务对应的至少两个第一线程的线程信息;基于所述线程信息,构建所述至少一个第一线程组;其中,所述第一线程的线程信息包括以下至少之一:所述第一线程的线程名称

线程对应的业务

线程数据
。4.
根据权利要求1所述的方法,其特征在于,所述调度所述至少一个第二线程组中目标线程组中的线程,包括:在电子设备的中央处理器
CPU
的资源占用率大于或等于第一阈值的情况下,调度所述目标线程组中的线程,并冻结所述至少一个第二线程组中除所述目标线程组以外的其他线程组;或,在所述
CPU
的资源占用率小于所述第一阈值的情况下,对齐所述目标线程组中的每个线程的调度时间,并根据所述对齐后的调度时间,调度所述目标线程组中的线程
。5.
根据权利要求4所述的方法,其特征在于,所述对齐所述目标线程组中的每个线程的调度时间,包括:获取所述目标线程组中的每个线程的调度时间对应的窗口时间;将所述每个线程的调度时间对应窗口时间交集的后端点,确定为第一调度时间;所述根据所述对齐后的调度时间,调度所述目标线程组的线程,包括:在电子设备的系统时间到达所述第一调度时间的情况下,调度所述目标线程组中的线程
。6.
根据权利要求1所述的方法,其特征在于,所述基于所述至少一个第一线程组和所述第一进程的线程,确定所述第一进程的后台业务对应的至少一个第二线程组,包括:从所述第一进程的线程中,确定所述第一进程的后台业务对应的第二线程;根据所述第...

【专利技术属性】
技术研发人员:徐嘉伟
申请(专利权)人:维沃移动通信有限公司
类型:发明
国别省市:

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

1