CN110347486B - 应用程序的线程分配方法、装置、设备及可读存储介质 - Google Patents
应用程序的线程分配方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110347486B CN110347486B CN201910590454.1A CN201910590454A CN110347486B CN 110347486 B CN110347486 B CN 110347486B CN 201910590454 A CN201910590454 A CN 201910590454A CN 110347486 B CN110347486 B CN 110347486B
- Authority
- CN
- China
- Prior art keywords
- thread
- application program
- processor
- system information
- terminal device
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
- G06F9/5055—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 considering software capabilities, i.e. software resources associated or available to the machine
-
- 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的执行效能。
Description
技术领域
本发明涉及计算机应用技术领域,具体而言,涉及一种应用程序的线程分配方法、装置、终端设备及计算机可读存储介质。
背景技术
随着终端设备功能的不断增加,单核处理器已经很难满足其性能要求,越来越多的终端设备采用多核多线程的体系结构,如4核、8核处理器等。目前,很多终端设备都采用的是基于ARM处理器的大小核架构。其中,大核与小核的主频不同,对于同样的任务量,处理器小核的执行时间远高于处理器大核的执行时间。通常,处理器大核用于处理与性能相关的任务,而处理器小核则主要用于处理与功耗相关的任务。
目前,可在终端设备中运行的应用程序越来越多。一些应用程序在运行过程中,会定期地获取系统信息,比如获取线程的内存占用情况等。为了获取系统信息,应用程序通常会启动一个重负荷的线程来执行系统信息调用任务,该线程在执行过程中会抢占大核的资源,导致应用程序产生性能损失,并引起卡顿等情况,降低用户体验。
以目前越来越得到广泛应用的游戏为例,游戏在运行过程中,为了更好地优化其性能,会定期地获取线程的内存占用情况,为了执行该任务会相应地启动一个非常重负载的线程在终端设备上执行,该线程通常会抢占大核资源,不但导致游戏卡顿,降低用户体验,还会增加终端设备的功耗。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种应用程序的线程分配方法、装置、终端设备及计算机可读存储介质。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提供一种应用程序的线程分配方法,应用于终端设备中,包括:在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动用于执行系统信息调用任务的线程;以及当所述线程被启动时,将所述线程绑定到所述终端设备的处理器中多个小核的其中之一上。
根据本发明的一实施方式,检测所述应用程序是否启动用于执行系统信息调用任务的线程包括:检测所述应用程序是否调用系统信息调用接口;以及当检测到所述应用程序调用了所述系统信息调用接口时,确定所述应用程序启动了所述线程。
根据本发明的一实施方式,上述方法还包括:当检测到所述系统信息调用接口被调用完毕后,解除所述线程与所述小核的绑定。
根据本发明的一实施方式,上述方法还包括:当检测到所述线程被启动时,发送通知信号。
根据本发明的一实施方式,当所述线程被启动时,将所述线程绑定到所述终端设备的处理器中的多个小核的其中之一上包括:当接收到所述通知信号时,将所述线程绑定到所述终端设备的处理器中的多个小核的其中之一上。
根据本发明的一实施方式,所述应用程序为游戏应用程序,所述处理器还包括:两个被预留的大核,所述两个大核分别执行所述游戏应用程序的逻辑线程和渲染线程。
根据本发明的一实施方式,所述两个大核为所述处理器中编号为最后两个的处理器核。
根据本发明的另一方面,提供一种应用程序的线程分配装置,应用于终端设备中,包括:线程检测模块,用于在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动用于执行系统信息调用任务的线程;以及线程绑定模块,用于当所述线程检测模块检测到所述线程被启动时,将所述线程绑定到所述终端设备的处理器中多个小核的其中之一上。
根据本发明的再一方面,提供一种终端设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任意一种方法。
根据本发明的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任意一种方法。
根据本发明实施方式提供的应用程序的线程分配方法,通过将应用程序运行过程中定期启动地系统信息获取的调用线程绑定到小核上,可防止该进程对其他重要进程的资源抢占,进而可以在提升应用程序性能的前提下,降低终端设备的功耗,提升CPU的执行效能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施方式示出的一种应用程序的线程分配方法流程图。
图2是根据一示例性实施方式示出的另一种应用程序的线程分配方法的流程图。
图3是根据一示例性实施方式示出的再一种应用程序的线程分配方法的流程图。
图4是根据一示例性实施方式示出的一种应用程序的线程分配装置的框图。
图5是根据一示例性实施方式示出的一种终端设备的结构示意图。
图6是根据一示例性实施方式示出的一种计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
图1是根据一示例性实施方式示出的一种应用程序的线程分配方法流程图。该方法可以应用于终端设备中,该终端设备例如可以为终端或通信终端,该终端或通信终端包括但不限于被设置成经由有线线路连接,如经由公共交换电话网络(public switchedtelephone network,PSTN)、数字用户线路(digital subscriber line,DSL)、数字电缆、直接电缆连接,以及/或另一数据连接/网络和/或经由例如,针对蜂窝网络、无线局域网(wireless local area network,WLAN)、诸如手持数字视频广播(digital videobroadcasting handheld,DVB-H)网络的数字电视网络、卫星网络、调幅-调频(amplitudemodulation-frequency modulation,AM-FM)广播发送器,以及/或另一通信终端的无线接口接收/发送通信信号的装置。被设置成通过无线接口通信的通信终端可以被称为“无线通信终端”、“无线终端”以及/或“移动终端”。移动终端的示例包括,但不限于卫星或蜂窝电话;可以组合蜂窝无线电电话与数据处理、传真以及数据通信能力的个人通信系统(personal communication system,PCS)终端;可以包括无线电电话、寻呼机、因特网/内联网接入、Web浏览器、记事簿、日历以及/或全球定位系统(global positioning system,GPS)接收器的个人数字助理(Personal Digital Assistant,PDA);以及常规膝上型和/或掌上型接收器或包括无线电电话收发器的其它电子装置。此外,该终端还可以包括但不限于诸如电子书阅读器、智能穿戴设备及车载设备等电子设备。
该终端设备中配置有多核处理器。
参考图1,该方法10包括:
在步骤S102中,在应用程序运行于终端设备的过程中,检测应用程序是否启动用于执行系统信息调用任务的线程。
不失一般性地,以游戏应用程序为例,一个游戏应用程序在被用户启动而在终端设备中运行时,例如可以定义游戏平台作为该游戏在终端设备上运行的系统。该游戏平台例如可以包括系统层与应用层,其中系统层主要负责提供与终端设备底层相关的系统能力,诸如访问存储器、线程调度等;应用层则主要负责游戏代码的运行。其中,系统层例如可以采用汇编语言编写,应用层例如可以采用JavaScript语言编写,但本发明不以此为限。此外,在系统层与应用层之间还可以设置桥接层,负责连接系统层与应用层。桥阶层可以将系统层的能力封装为统一的、可供应用层直接调用的应用程序编程接口(ApplicationProgramming Interface,API)。
在游戏运行过程中,可以由游戏平台中的系统层定期地获取系统信息,如获取线程的内存占用情况等。具体地,例如可以由应用层通过调用系统层提供的系统信息调用接口(如上述的API)来通过系统层获取线程的内存占用情况。相应地,应用程序会启动用于执行系统信息调用任务的线程。
在步骤S104中,当该线程被启动时,将该线程绑定到终端设备的处理器中多个小核的其中之一上。
当该线程被启动时,将该线程绑定到终端设备的处理器中多个小核的其中之一上,从而避免该线程占用大核资源,进而影响应用程序的性能。
通常每个应用程序的多个线程中,会有一或多个非常重要的线程(如应用程序的主线程),如果能够保证这些重要线程的执行速度,可在一定程度上确保或提升该应用程序的性能。例如,可以通过预留大核资源,以用于执行应用程序的这些重要线程。
仍以游戏应用程序为例,游戏中最重要的两个线程为:逻辑线程和渲染线程。其中,逻辑线程主要用于处理网络通信任务、输入输出操作任务等;渲染线程主要用于负责游戏场景在终端设备中的呈现。如果为游戏应用程序预留两个大核,用于执行逻辑线程和渲染线程,可以保证这两个线程的执行速度,从而在一定程度上提升游戏性能及用户体验。
在一些实施例中,以8核处理器为例,由于目前的8核处理器中无论是配置6个小核与2个大核,还是配置4个小核与4个大核,通常都是将大核配置为编号靠后的处理器核。也即,如果是6个小核与2个大核,则配置编号为0-5的处理器核为小核,编号为6和7的处理器核为大核;而如果是4个小核与4个大核的配置,则配置编号为0-3的处理器核为小核,编号为4-7的处理器核为大核。无论那种处理核的配置,如果需要为应用程序预留两个大核,均可以预留编号为6和7的处理器核。
根据本发明实施方式提供的应用程序的线程分配方法,通过将应用程序运行过程中定期启动地系统信息获取的调用线程绑定到小核上,可防止该进程对其他重要进程的资源抢占,进而可以在提升应用程序性能的前提下,降低终端设备的功耗,提升CPU的执行效能。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
图2是根据一示例性实施方式示出的另一种应用程序的线程分配方法的流程图。与图1所示的方法10不同的是,图2所示的方法20进一步提供了检测所述应用程序是否启动用于执行系统信息调用任务的线程的实施例,也即图2所示的方法20是对图1中步骤S102的进一步说明。
参考图2,步骤S102包括:
在步骤S1022中,检测应用程序是否调用系统信息调用接口。
如上述,仍以游戏应用程序为例,游戏平台的桥阶层可以将系统层的能力封装为统一的、可供应用层直接调用的应用程序编程接口。这些接口包括系统信息调用接口,应用层可以通过对该接口的调用来获取系统信息,如线程对内存资源的占用等。
可以通过检测应用程序是否调用了该系统信息调用接口,来判断应用程序是否启动了用于执行系统信息调用任务的线程。
在步骤S1024中,当检测到应用程序调用了该系统信息调用接口时,确定应用程序启动了该线程。
如果检测到应用程序调用了该系统信息调用接口,则确定应用程序启动了该线程。
在一些实施例中,方法20还可以包括:当检测到系统信息调用接口被调用完毕后,解除该线程与该小核的绑定。由于应用程序是定期地调用该接口来获取系统信息,因此该接口被调用完毕后,可以解除该线程与该小核的绑定关系。
图3是根据一示例性实施方式示出的再一种应用程序的线程分配方法的流程图。
参考图3,方法30包括:
在步骤S302中,在应用程序运行于终端设备的过程中,检测应用程序是否启动用于执行系统信息调用任务的线程。
例如,可以由一个线程检测模块来检测应用程序是否启动用于执行系统信息调用任务的线程。在具体实现时,该线程检测模块例如可以被实施为一段用于执行相应功能的代码。
在步骤S304中,当检测到该线程被启动时,发送通知信号。
例如,线程检测模块在检测到该线程被启动时,可以向一个线程绑定模块来发送该通知信号,以通知该线程绑定模块用于获取系统信息的线程被启动。
同样地,线程绑定模块在具体实现时,可以被实施为一段用于执行相应功能的代码。
在步骤S306中,当接收到该通知信号时,将该线程绑定到终端设备的处理器中的多个小核的其中之一上。
如该线程绑定模块在接收到线程检测模块发送的该通知信号时,将线程绑定到终端设备的处理器中的多个小核的其中之一上,从而避免该线程对处理器中大核资源的抢占。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图4是根据一示例性实施方式示出的一种应用程序的线程分配装置的框图。该应用程序的线程分配装置可以应用于终端设备中。
参考图4,装置40包括:线程检测模块402及线程绑定模块404。
其中,线程检测模块402用于在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动用于执行系统信息调用任务的线程。
线程绑定模块404用于当线程检测模块402检测到所述线程被启动时,将所述线程绑定到所述终端设备的处理器中多个小核的其中之一上。
在一些实施例中,线程检测模块402包括:检测单元及确定单元。其中,检测单元用于检测所述应用程序是否调用系统信息调用接口;确定单元用于当检测单元检测到所述应用程序调用了所述系统信息调用接口时,确定所述应用程序启动了所述线程。
在一些实施例中,线程绑定模块404还用于当上述检测单元检测到所述系统信息调用接口被调用完毕后,解除所述线程与所述小核的绑定。
在一些实施例中,线程检测模块402还用于当检测到所述线程被启动时,向线程绑定模块404发送通知信号。
在一些实施例中,线程绑定模块404用于当接收到所述通知信号时,将所述线程绑定到所述终端设备的处理器中的多个小核的其中之一上。
在一些实施例中,所述应用程序为游戏应用程序,所述处理器还包括:两个被预留的大核,所述两个大核分别执行所述游戏应用程序的逻辑线程和渲染线程。
在一些实施例中,所述两个大核为所述处理器中编号为最后两个的处理器核。
根据本发明实施方式提供的应用程序的线程分配装置,通过将应用程序运行过程中定期启动地系统信息获取的调用线程绑定到小核上,可防止该进程对其他重要进程的资源抢占,进而可以在提升应用程序性能的前提下,降低终端设备的功耗,提升CPU的执行效能。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图5是根据一示例性实施方式示出的一种终端设备的结构示意图。
参照图5,设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源电力组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件组件702可以包括一个或多个处理器720来执行指令,以完成上述本发明各实施方式的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理部件组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在设备700上的操作。这些数据的示例包括用于在设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述设备700和用户之间提供的一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708还可以包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
输入/输出(I/O)接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为设备700的显示器和小键盘,传感器组件714还可以检测设备700或设备700一个组件的位置改变,用户与设备700接触的存在或不存在,设备700方位或加速/减速和设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于设备700和其他设备之间有线或无线方式的通信。设备700可以接入基于通信标准的无线网络,如WiFi、2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信部件组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
图6是根据一示例性实施方式示出的一种计算机可读存储介质的示意图。
参考图6所示,描述了根据本发明的实施方式的设置为实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如图1-图3中所示的功能。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (7)
1.一种应用程序的线程分配方法,应用于终端设备中,其特征在于,包括:
在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动用于执行系统信息调用任务的线程,所述系统信息包括线程的内存占用情况;以及
当所述线程被启动时,将所述线程绑定到所述终端设备的处理器中多个小核的其中之一上;
所述应用程序为游戏应用程序,所述处理器还包括:两个被预留的大核,所述两个大核分别执行所述游戏应用程序的逻辑线程和渲染线程;
所述方法还包括:当检测到所述线程被启动时,向线程绑定模块发送通知信号,以通知所述线程绑定模块用于获取所述系统信息的线程被启动;
当所述线程被启动时,将所述线程绑定到所述终端设备的处理器中的多个小核的其中之一上包括:当接收到所述通知信号时,将所述线程绑定到所述终端设备的处理器中的多个小核的其中之一上。
2.根据权利要求1所述的方法,其特征在于,检测所述应用程序是否启动用于执行系统信息调用任务的线程包括:
检测所述应用程序是否调用系统信息调用接口;以及
当检测到所述应用程序调用了所述系统信息调用接口时,确定所述应用程序启动了所述线程。
3.根据权利要求2所述的的方法,其特征在于,还包括:当检测到所述系统信息调用接口被调用完毕后,解除所述线程与所述小核的绑定。
4.根据权利要求1所述的方法,其特征在于,所述两个大核为所述处理器中编号为最后两个的处理器核。
5.一种应用程序的线程分配装置,应用于终端设备中,其特征在于,包括:
线程检测模块,用于在应用程序运行于所述终端设备的过程中,检测所述应用程序是否启动用于执行系统信息调用任务的线程,所述系统信息包括线程的内存占用情况;以及
线程绑定模块,用于当所述线程检测模块检测到所述线程被启动时,将所述线程绑定到所述终端设备的处理器中多个小核的其中之一上;所述应用程序为游戏应用程序,所述处理器还包括:两个被预留的大核,所述两个大核分别执行所述游戏应用程序的逻辑线程和渲染线程;
应用程序的线程分配装置还被配置:
用于当检测到所述线程被启动时,向线程绑定模块发送通知信号,以通知所述线程绑定模块用于获取所述系统信息的线程被启动;
线程绑定模块被配置为:当接收到所述通知信号时,将所述线程绑定到所述终端设备的处理器中的多个小核的其中之一上。
6.一种终端设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-4任一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910590454.1A CN110347486B (zh) | 2019-07-02 | 2019-07-02 | 应用程序的线程分配方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910590454.1A CN110347486B (zh) | 2019-07-02 | 2019-07-02 | 应用程序的线程分配方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347486A CN110347486A (zh) | 2019-10-18 |
CN110347486B true CN110347486B (zh) | 2023-09-15 |
Family
ID=68177289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910590454.1A Active CN110347486B (zh) | 2019-07-02 | 2019-07-02 | 应用程序的线程分配方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347486B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110860086B (zh) * | 2019-11-08 | 2023-08-15 | 武汉微派网络科技有限公司 | 数据处理方法、可读存储介质和电子设备 |
CN111459626B (zh) * | 2020-03-11 | 2021-06-01 | 完美世界(北京)软件科技发展有限公司 | 一种用于实现不分线无缝游戏世界的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076770A (zh) * | 2004-09-28 | 2007-11-21 | 英特尔公司 | 根据可用并行数目改变每条指令能量的方法和设备 |
CN103631655A (zh) * | 2012-08-21 | 2014-03-12 | 联想(新加坡)私人有限公司 | 大核和小核中的任务调度 |
CN107066326A (zh) * | 2017-03-27 | 2017-08-18 | 深圳市金立通信设备有限公司 | 一种调度任务的方法及终端 |
CN107577537A (zh) * | 2017-09-06 | 2018-01-12 | 广东欧珀移动通信有限公司 | 资源配置方法及相关产品 |
CN108874539A (zh) * | 2018-03-13 | 2018-11-23 | Oppo广东移动通信有限公司 | 资源配置方法、装置、终端及存储介质 |
CN109165091A (zh) * | 2018-07-03 | 2019-01-08 | 南昌黑鲨科技有限公司 | 一种优化应用运行质量的方法、移动终端及存储介质 |
CN109254849A (zh) * | 2018-08-31 | 2019-01-22 | 北京小米移动软件有限公司 | 应用程序的运行方法及装置 |
CN109906421A (zh) * | 2016-11-04 | 2019-06-18 | 微软技术许可有限责任公司 | 基于线程重要性的处理器核划分 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100962531B1 (ko) * | 2007-12-11 | 2010-06-15 | 한국전자통신연구원 | 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치 및 이를 이용한 프로세싱 방법 |
US9619282B2 (en) * | 2012-08-21 | 2017-04-11 | Lenovo (Singapore) Pte. Ltd. | Task scheduling in big and little cores |
-
2019
- 2019-07-02 CN CN201910590454.1A patent/CN110347486B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076770A (zh) * | 2004-09-28 | 2007-11-21 | 英特尔公司 | 根据可用并行数目改变每条指令能量的方法和设备 |
CN103631655A (zh) * | 2012-08-21 | 2014-03-12 | 联想(新加坡)私人有限公司 | 大核和小核中的任务调度 |
CN109906421A (zh) * | 2016-11-04 | 2019-06-18 | 微软技术许可有限责任公司 | 基于线程重要性的处理器核划分 |
CN107066326A (zh) * | 2017-03-27 | 2017-08-18 | 深圳市金立通信设备有限公司 | 一种调度任务的方法及终端 |
CN107577537A (zh) * | 2017-09-06 | 2018-01-12 | 广东欧珀移动通信有限公司 | 资源配置方法及相关产品 |
CN108874539A (zh) * | 2018-03-13 | 2018-11-23 | Oppo广东移动通信有限公司 | 资源配置方法、装置、终端及存储介质 |
CN109165091A (zh) * | 2018-07-03 | 2019-01-08 | 南昌黑鲨科技有限公司 | 一种优化应用运行质量的方法、移动终端及存储介质 |
CN109254849A (zh) * | 2018-08-31 | 2019-01-22 | 北京小米移动软件有限公司 | 应用程序的运行方法及装置 |
Non-Patent Citations (2)
Title |
---|
"Dynamic application allocation with resource balancing on NoC based many-core embedded systems";Chang Wang等;《Journal of Systems Architecture》;第79卷;第59-72页 * |
异构多核下兼顾应用公平性和能耗的调度方法研究;杨亚琪;栾钟治;杨海龙;杨姝;钱德沛;;计算机工程与科学(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110347486A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102147088B1 (ko) | 전자장치에서 수신된 정보를 사용자에게 제공하기 위한 방법 및 장치 | |
US8612033B2 (en) | Method for executing menu in mobile terminal and mobile terminal thereof | |
KR101919792B1 (ko) | 휴대 단말기 및 그 제어 방법 | |
US20110050602A1 (en) | Mobile terminal and controlling method thereof | |
EP3046352B1 (en) | Method by which portable device displays information through wearable device, and device therefor | |
WO2021052415A1 (zh) | 资源调度方法及电子设备 | |
CN113553130B (zh) | 应用执行绘制操作的方法及电子设备 | |
CN110347486B (zh) | 应用程序的线程分配方法、装置、设备及可读存储介质 | |
WO2022262434A1 (zh) | 一种功耗优化方法和电子设备 | |
CN110362405B (zh) | 应用程序的线程分配方法、装置、设备及可读存储介质 | |
RU2626089C2 (ru) | Способ и устройство для загрузки приложения темы | |
CN110166564B (zh) | 信息通信方法、终端及存储介质 | |
CN110347508A (zh) | 应用程序的线程分配方法、装置、设备及可读存储介质 | |
CN108958911B (zh) | 进程的控制方法及装置 | |
CN104572230B (zh) | 脚本文件的加载方法、脚本文件生成方法及装置 | |
CN114339966B (zh) | 用于数据传输的界面控制方法、装置、介质与电子设备 | |
KR20110085767A (ko) | 이동 단말기 및 그 제어 방법 | |
CN116700913A (zh) | 嵌入式文件系统的调度方法、设备及存储介质 | |
CN110427135B (zh) | 确定应用呼出的方法、装置、终端及存储介质 | |
CN113360254A (zh) | 任务调度方法及系统 | |
CN113392055B (zh) | 文件传输方法、文件传输装置及存储介质 | |
CN117076088B (zh) | 界面显示方法、可读介质和电子设备 | |
WO2024078412A1 (zh) | 跨屏分享方法、图形界面及相关装置 | |
CN107291394B (zh) | 存储空间预留方法及装置 | |
CN112286687A (zh) | 一种资源处理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |