应用程序的线程分配方法、装置、设备及可读存储介质制造方法及图纸

技术编号:22329893 阅读:24 留言:0更新日期:2019-10-19 12:14
本发明专利技术公开一种应用程序的线程分配方法、装置、设备及可读存储介质。所述方法应用于终端设备中,所述终端设备的处理器包括:多个第一处理器核及多个第二处理器核,所述方法包括:在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动了用于执行相同任务的多个线程且所述多个线程的数量超过预设的线程数量阈值;以及当所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,将所述多个线程绑定到所述多个第一处理器核上;其中,所述第二处理器核为大核。所述方法可以在提升应用程序性能的前提下,降低终端设备的功耗,提升CPU的执行效能。

【技术实现步骤摘要】
应用程序的线程分配方法、装置、设备及可读存储介质
本专利技术涉及计算机应用
,具体而言,涉及一种应用程序的线程分配方法、装置、终端设备及计算机可读存储介质。
技术介绍
随着终端设备功能的不断增加,单核处理器已经很难满足其性能要求,越来越多的终端设备采用多核多线程的体系结构,如4核、8核处理器等。目前,很多终端设备都采用的是基于ARM处理器的大小核架构。其中,大核与小核的主频不同,对于同样的任务量,处理器小核的执行时间远高于处理器大核的执行时间。通常,处理器大核用于处理与性能相关的任务,而处理器小核则主要用于处理与功耗相关的任务。目前,可在终端设备中运行的应用程序越来越多。一些应用程序为了提升任务的执行效率,会采用多线程的机制去执行一些突然到来的任务。首先,应用程序会先判断当前终端设备支持的处理器核数,并创建多个线程去执行这些任务。这些被创建的线程通常会抢占其他线程的资源,导致应用程序产生性能损失。以目前越来越得到广泛应用的游戏为例,游戏在运行过程中,为了提升任务的执行效率,在需要执行一些突发任务时,会启动多个线程来执行这些任务。这些被创建的线程会抢占其他线程的资源,包括大核资源,这样的抢占行为会影响游戏的性能,降低用户体验。在所述
技术介绍
部分公开的上述信息仅用于加强对本专利技术的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
有鉴于此,本专利技术提供一种应用程序的线程分配方法、装置、终端设备及计算机可读存储介质。本专利技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本专利技术的实践而习得。根据本专利技术的一方面,提供一种应用程序的线程分配方法,应用于终端设备中,所述终端设备的处理器包括:多个第一处理器核及多个第二处理器核,所述方法包括:在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动了用于执行相同任务的多个线程且所述多个线程的数量超过预设的线程数量阈值;以及当所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,将所述多个线程绑定到所述多个第一处理器核上;其中,所述第二处理器核为大核。根据本专利技术的一实施方式,当所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,将所述多个线程绑定到所述多个第一处理器核上包括:当所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,检测所述多个线程的负载是否均小于预设的负载阈值;以及当所述多个线程的负载均小于预设的负载阈值时,将所述多个线程绑定到所述多个第一处理器核上。根据本专利技术的一实施方式,所述负载为所述线程对所述处理器的利用率。根据本专利技术的一实施方式,所述负载为所述线程被执行时对其他正在执行线程的阻断时间。根据本专利技术的一实施方式,所述第一处理器包括:小核或大核。根据本专利技术的一实施方式,所述应用程序为游戏应用程序,所述多个第二处理器核为所述处理器中编号为最后两个的处理器核。根据本专利技术的一实施方式,两个所述第二处理器核上分别执行所述游戏应用程序的逻辑线程和渲染线程。根据本专利技术的另一方面,提供一种应用程序的线程分配装置,应用于终端设备中,所述终端设备的处理器包括:多个第一处理器核及多个第二处理器核,所述装置包括:线程检测模块,用于在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动了用于执行相同任务的多个线程且所述多个线程的数量超过预设的线程数量阈值;以及线程过滤模块,用于当所述线程检测模块检测到所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,将所述多个线程绑定到所述多个第一处理器核上;其中,所述第二处理器核为大核。根据本专利技术的一方面,提供一种终端设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任意一种方法。根据本专利技术的一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任意一种方法。根据本专利技术实施方式提供的应用程序的线程分配方法,通过在应用程序执行过程中检测过滤存在用于执行相同任务的、且线程数量超过预设阈值的多个线程,并将这些进程绑定到非预留的处理器核上去执行,可以防止这些并行的多个线程对应用程序中重要线程的资源抢占,进而可以在提升应用程序性能的前提下,降低终端设备的功耗,提升CPU的执行效能。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本专利技术。附图说明通过参照附图详细描述其示例实施例,本专利技术的上述和其它目标、特征及优点将变得更加显而易见。图1是根据一示例性实施方式示出的一种应用程序的线程分配方法流程图。图2是根据一示例性实施方式示出的另一种应用程序的线程分配方法的流程图。图3是根据一示例性实施方式示出的一种应用程序的线程分配装置的框图。图4是根据一示例性实施方式示出的一种终端设备的结构示意图。图5是根据一示例性实施方式示出的一种计算机可读存储介质的示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本专利技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本专利技术的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本专利技术的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本专利技术的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本专利技术的各方面变得模糊。此外,在本专利技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。图1是根据一示例性实施方式示出的一种应用程序的线程分配方法流程图。该方法可以应用于终端设备中,该终端设备例如可以为终端或通信终端,该终端或通信终端包括但不限于被设置成经由有线线路连接,如经由公共交换电话网络(publicswitchedtelephonenetwork,PSTN)、数字用户线路(digitalsubscriberline,DSL)、数字电缆、直接电缆连接,以及/或另一数据连接/网络和/或经由例如,针对蜂窝网络、无线局域网(wirelesslocalareanetwork,WLAN)、诸如手持数字视频广播(digitalvideobroadcastinghandheld,DVB-H)网络的数字电视网络、卫星网络、调幅-调频(amplitudemodulation-frequencymodulation,AM-FM)广播发送器,以及/或另一通信终端的无线接口接收/发送通信信号的装置。被设置成通过无线接口通信的通信终端可以被称为“无线通信终端”、“无线终端”以及本文档来自技高网...

【技术保护点】
1.一种应用程序的线程分配方法,应用于终端设备中,其特征在于,所述终端设备的处理器包括:多个第一处理器核及多个第二处理器核,所述方法包括:在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动了用于执行相同任务的多个线程且所述多个线程的数量超过预设的线程数量阈值;以及当所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,将所述多个线程绑定到所述多个第一处理器核上;其中,所述第二处理器核为大核。

【技术特征摘要】
1.一种应用程序的线程分配方法,应用于终端设备中,其特征在于,所述终端设备的处理器包括:多个第一处理器核及多个第二处理器核,所述方法包括:在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动了用于执行相同任务的多个线程且所述多个线程的数量超过预设的线程数量阈值;以及当所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,将所述多个线程绑定到所述多个第一处理器核上;其中,所述第二处理器核为大核。2.根据权利要求2所述的方法,其特征在于,当所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,将所述多个线程绑定到所述多个第一处理器核上包括:当所述多个线程被启动且所述多个线程的数量超过所述线程数量阈值时,检测所述多个线程的负载是否均小于预设的负载阈值;以及当所述多个线程的负载均小于所述负载阈值时,将所述多个线程绑定到所述多个第一处理器核上。3.根据权利要求3所述的的方法,其特征在于,所述负载为所述线程对所述处理器的利用率。4.根据权利要求3所述的方法,其特征在于,所述负载为所述线程被执行时对其他正在执行线程的阻断时间。5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一处理器包括:小核...

【专利技术属性】
技术研发人员:周步刚
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东,44

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

1