应用程序的线程标识方法、电子设备以及存储介质技术

技术编号:38926246 阅读:11 留言:0更新日期:2023-09-25 09:33
本申请提供了应用程序的线程标识方法、电子设备以及存储介质。本申请的方法中,电子设备在执行第一应用的第一任务时,可以检测执行第一任务的多个线程中任意两个线程之间的并行度,并对并行度较高的线程设置一定的标识。电子设备在下一次执行第一任务时,可以直接通过识别标识,确定并行度较高的线程,然后在同一时间段将并行度较高的线程分别分配到处理器不同的核中处理。从而避免因并行度较高的线程在同一时间段被分配到同一个核中处理,导致线程之间发生冲突和竞争,甚至导致线程阻塞,影响应用的运行性能。影响应用的运行性能。影响应用的运行性能。

【技术实现步骤摘要】
应用程序的线程标识方法、电子设备以及存储介质


[0001]本申请涉及计算机
,尤其涉及一种应用程序的线程标识方法、电子设备以及存储介质。

技术介绍

[0002]随着电子设备功能的不断增加,单核处理器已经难以满足较高性能要求,越来越多的电子设备(例如,手机)使用多核处理器,比如,1+3+4架构的8核处理器。电子设备在执行某个应用(例如,游戏应用)的任务时,可以将执行该任务的多个线程分配到处理器的不同核中并行运行,以提高任务的执行速度。
[0003]但是,当同一时刻需要运行的线程数量大于处理器的核数量时,就会出现两个或两个以上的线程被分配到处理器的同一个核中进行运行的情况。在此情况下,如果并行度较高的线程被分配到同一个核中运行,就会导致线程之间因试图同时访问共享资源而产生冲突和竞争,甚至导致线程阻塞,使得应用在运行时出现异常,例如,掉帧、卡顿等,从而影响应用运行的流畅性。

技术实现思路

[0004]本申请的一些实施方式提供了一种应用程序的线程标识方法、电子设备以及计算机可读存储介质,以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。
[0005]第一方面,本申请提供了一种应用程序的线程标识方法,用于电子设备,该方法包括:执行第一应用的第一任务;确定执行第一任务的第一线程和第二线程之间的并行度;对应于第一线程和第二线程之间的并行度大于第一阈值,对第一线程设置第一标识,并对第二线程设置第二标识,第一标识和第二标识用于指示电子设备的处理器在同一时间段利用不同核处理第一线程和第二线程。
[0006]其中,第一应用可以是游戏应用、浏览器应用、地图应用、邮件应用等应用。第一任务可以是第一应用的界面绘制任务,例如,游戏应用的游戏画面绘制任务。第一线程和第二线程可以是执行游戏画面绘制任务的多个线程中任意两个不同的线程。
[0007]根据本申请实施例的方法,电子设备在执行第一应用(例如游戏应用)的第一任务(例如游戏画面绘制任务)的过程中,可以获取执行第一任务的第一线程和第二线程之间的并行度。其中,线程之间的并行度可以基于线程之间并行运行的时长确定,例如,线程之间并行运行的时长越长,则线程之间的并行度越高。如果第一线程和第二线程之间的并行度,则可以对第一线程设置第一标识,对第二线程设置第二标识。电子设备下一次执行第一任务时,在识别到第一标识和第二标识时,可以根据第一标识和第二标识,在同一时间段将第一线程和第二线程分配到不同的核中处理。这样就可以避免因并行度较高的线程在同一时间段被分配到同一个核中处理,而出现线程碰撞,影响第一应用运行的流畅性。
[0008]在一些实施方式中,确定执行第一任务的第一线程和第二线程之间的并行度,包
括:确定第一线程和第二线程的运行时间;基于运行时间,确定第一线程和第二线程之间并行运行的第一时长;基于第一时长,确定并行度。
[0009]其中,第一时长可以是线程之间的并行运行时长。
[0010]线程之间的并行运行时长,可以反映线程之间的并行度。比如,线程之间的并行运行时长越长,表明线程之间的并行度越高。反之,线程之间的并行运行时长越短,表明线程之间的并行度越低。根据线程之间的并行运行时长,确定线程之间的并行度,有利于提高并行度的准确性。
[0011]在一些实施方式中,运行时间包括起始运行时间和结束运行时间;基于运行时间,确定第一线程和第二线程之间并行运行的第一时长,包括:基于起始运行时间和结束运行时间,确定第一线程的第一运行时间区间以及第二线程的第二运行时间区间;对第一运行时间区间和第二运行时间区间进行比较,以确定第一运行时间区间和第二运行时间区间之间的重合时间区间;将重合时间区间的时长作为第一时长。
[0012]直接将线程之间运行时间区间的重合时间区间的时长作为第一运行时长,可以较好的反映线程之间并行运行的情况。
[0013]在一些实施方式中,在第一任务执行结束时,第一线程或第二线程仍处于运行状态的情形中,第一线程或第二线程的结束运行时间是基于第一任务的结束时间确定。
[0014]电子设备在执行第一任务时,当第一任务结束时,执行第一任务的线程可能由于还要处理其他任务,而并未结束。此时,可以根据第一任务的结束时间确定该线程的结束运行时间。例如,直接将第一任务的结束时间作为该线程的结束运行时间,或者,给第一任务的结束时间加上一个定量(例如,

1ms,+1ms等)作为该线程的结束运行时间。如此,可以提高时间确定准确性。
[0015]在一些实施方式中,方法还包括:在电子设备下一次执行第一任务时,对应于识别到第一标识和第二标识,电子设备的处理器在同一时间段利用不同核处理第一线程和第二线程。
[0016]由于并行度较高的线程被设置了标识,电子设备在下一次执行第一任务时,就可以直接通过识别线程的标识,确定并行度较高的线程,然后在同一时间段直接将并行度较高的线程分配到处理器不同的核中处理。
[0017]在一些实施方式中,第一阈值基于第一任务执行的第二时长确定。
[0018]在一些实施方式中,第一阈值基于第一任务执行的第二时长确定,包括:将第二时长的一半时长的对应参数确定为第一阈值。
[0019]在一些实施方式中,第一任务为第一应用的界面绘制任务。
[0020]如果第一应用是游戏应用,则第一应用的界面绘制任务可以是游戏画面的绘制任务。
[0021]第二方面,本申请实施方式提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;处理器,当处理器执行存储器中的指令时,可使得电子设备执行本申请第一方面所述的方法。第二方面能达到的有益效果可参考第一方面任一实施方式所提供的方法的有益效果,此处不再赘述。
[0022]第三方面,本申请实施方式提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,该指令在计算机上执行时可使计算机执行第一方面任一实施方式所述的
方法。第三方面能达到的有益效果可参考第一方面任一实施方式所提供的方法的有益效果,此处不再赘述。
附图说明
[0023]图1为本申请实施例的示例性应用场景;
[0024]图2为本申请实施例提供的应用程序的线程标识方法的流程示意图;
[0025]图3为本申请实施例提供的游戏画面绘制的原理示例图;
[0026]图4为本申请实施例提供的处理器的结构示例图;
[0027]图5为本申请实施例提供的线程运行时间的示例图一;
[0028]图6为本申请实施例提供的安卓系统构架的示例图;
[0029]图7为本申请实施例提供的游戏应用的线程分配方法示例图;
[0030]图8为示出了的统计线程间并行度的示例性表格;
[0031]图9为本申请实施例提供的线程运行时间的示例图二;
[0032]图10示出了本申请实施例提供的电子设备的构造示意图。
具体实施方式
[0033]本申请实施方式用于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的线程标识方法,用于电子设备,其特征在于,所述方法包括:执行第一应用的第一任务;确定执行所述第一任务的第一线程和第二线程之间的并行度;对应于所述第一线程和所述第二线程之间的并行度大于第一阈值,对所述第一线程设置第一标识,并对所述第二线程设置第二标识,所述第一标识和第二标识用于指示电子设备的处理器在同一时间段利用不同核处理所述第一线程和所述第二线程。2.根据权利要求1所述的方法,其特征在于,所述确定执行所述第一任务的第一线程和第二线程之间的并行度,包括:确定所述第一线程和所述第二线程的运行时间;基于所述运行时间,确定所述第一线程和所述第二线程之间并行运行的第一时长;基于所述第一时长,确定所述并行度。3.根据权利要求2所述的方法,其特征在于,所述运行时间包括起始运行时间和结束运行时间;所述基于所述运行时间,确定所述第一线程和所述第二线程之间并行运行的第一时长,包括:基于所述起始运行时间和所述结束运行时间,确定所述第一线程的第一运行时间区间以及所述第二线程的第二运行时间区间;对所述第一运行时间区间和所述第二运行时间区间进行比较,以确定所述第一运行时间区间和所述第二运行时间区间之间的重合时间区间;将所述重合时间区间的时长作为所述第一时长。4.根据权利要求3所述的方法,其特征在于...

【专利技术属性】
技术研发人员:刘璐任玉林朱科嘉
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1