线程绑定处理方法和装置制造方法及图纸

技术编号:19489112 阅读:28 留言:0更新日期:2018-11-17 12:02
本发明专利技术公开了一种线程绑定处理方法和装置。其中,该方法包括:判断第一线程占用CPU的第一内核的比例是否超过阈值,其中,CPU包括多个内核,第一内核为多个内核中的之一;在第一线程占用第一内核的比例超过阈值的情况下,判断第一内核中是否还运行有第二线程,其中,第二线程和第一线程为同一进程下的线程;在第一内核中运行有第二线程的情况下,至少根据第一线程占用第一内核的比例确定是否将第一线程或第二线程绑定到CPU中的第二内核上,其中,第二内核为多个内核中的之一。本发明专利技术解决了现有技术中同一进程下的不同线程均在同一个CPU内核上运行容易引起CPU占用过高而导致进程运行失败的技术问题。

【技术实现步骤摘要】
线程绑定处理方法和装置
本专利技术涉及计算机软件领域,具体而言,涉及一种线程绑定处理方法和装置。
技术介绍
程序是指令和数据的有序集合,进程是程序在处理机上的一次执行过程。通常一个进程中可以包含多个线程,每个线程都作为利用中央处理器CPU的基本单位。也就是说,进程是操作系统进行资源(包括但不限于CPU、内存、磁盘、I/O等)分配的最小单位,线程是CPU调度和分配的基本单位。例如,在电脑打开的微信是一个进程,打开浏览器是一个进程。而微信中接收消息、发送消息等多个子任务就是微信这个进程下的多个线程。由于进程具有独立的地址空间,一个进程崩溃后,通常不会对其他进程产生影响,而线程是一个进程中的不同执行路径,线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。例如,在电脑上打开一个Word的过程中,渲染线程的失败,可能会导致整个Word进程失败。针对上述现有技术中同一进程下的不同线程均在同一个CPU内核上运行容易引起CPU占用过高而导致进程运行失败的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种线程绑定处理方法和装置,以至少解决现有技术中同一进程下的不同线程均在同一个CPU内核上运行容易引起CPU占用过高而导致进程运行失败的技术问题。根据本专利技术实施例的一个方面,提供了一种线程绑定处理方法,包括:判断第一线程占用CPU的第一内核的比例是否超过阈值,其中,CPU包括多个内核,第一内核为多个内核中的之一;在第一线程占用第一内核的比例超过阈值的情况下,判断第一内核中是否还运行有第二线程,其中,第二线程和第一线程为同一进程下的线程;在第一内核中运行有第二线程的情况下,至少根据第一线程占用第一内核的比例确定是否将第一线程或第二线程绑定到CPU中的第二内核上,其中,第二内核为多个内核中的之一。根据本专利技术实施例的另一方面,还提供了一种线程绑定处理装置,包括:第一判断单元,用于判断第一线程占用CPU的第一内核的比例是否超过阈值,其中,CPU包括多个内核,第一内核为多个内核中的之一;第二判断单元,用于在第一线程占用第一内核的比例超过阈值的情况下,判断第一内核中是否还运行有第二线程,其中,第二线程和第一线程为同一进程下的线程;第一确定单元,用于在第一内核中运行有第二线程的情况下,至少根据第一线程占用第一内核的比例确定是否将第一线程或第二线程绑定到CPU中的第二内核上,其中,第二内核为多个内核中的之一。根据本专利技术实施例的另一方面,还提供了一种存储介质,其特征在于,存储介质包括存储的程序,其中,程序执行上述的线程绑定处理方法。根据本专利技术实施例的另一方面,还提供了一种处理器,其特征在于,处理器用于运行程序,其中,程序运行时执行上述的线程绑定处理方法。在本专利技术实施例中,通过判断第一线程占用CPU的第一内核的比例是否超过阈值,其中,CPU包括多个内核,第一内核为多个内核中的之一;在第一线程占用第一内核的比例超过阈值的情况下,判断第一内核中是否还运行有第二线程,其中,第二线程和第一线程为同一进程下的线程;在第一内核中运行有第二线程的情况下,至少根据第一线程占用第一内核的比例确定是否将第一线程或第二线程绑定到CPU中的第二内核上,其中,第二内核为多个内核中的之一,达到了将同一进程下的线程在CPU不同的内核上同时执行的目的,从而实现了提高线程或进程运行成功的概率的技术效果,进而解决了现有技术中同一进程下的不同线程均在同一个CPU内核上运行容易引起CPU占用过高而导致进程运行失败的技术问题。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的一种线程绑定处理方法流程图;图2是根据本专利技术实施例的一种可选的线程绑定处理方法流程图;图3是根据本专利技术实施例的一种可选的线程绑定处理方法流程图;以及图4是根据本专利技术实施例的一种线程绑定处理装置示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。根据本专利技术实施例,提供了一种线程绑定处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本专利技术实施例的一种线程绑定处理方法流程图,如图1所示,该方法包括如下步骤:步骤S102,判断第一线程占用CPU的第一内核的比例是否超过阈值,其中,CPU包括多个内核,第一内核为多个内核中的之一。作为一种可选的实施例,上述CPU具有多个内核,第一内核可以是当前用于执行某一进程的内核;上述第一线程可以是某一进程中待执行的线程;由于同一进程下的线程是共用CPU资源的,如果将一个进程下的所有线程都通过CPU的一个内核(即第一内核)执行,容易出现占用过高而导致线程运行失败。因而,通过上述步骤S102,在通过CPU的某个内核(即第一内核)执行某一进程下的某一个线程(即第一线程)的时候,判断第一线程占用第一内核的比例是否超过阈值,如果超过阈值,则说明如果通过第一内核执行该第一线程可能导致运行失败;反之,如果没有超过阈值,则可以通过第一内核执行该第一线程。可选地,上述阈值可以是CPU内核能够成功运行进程或线程的最大利用率。步骤S104,在第一线程占用第一内核的比例超过阈值的情况下,判断第一内核中是否还运行有第二线程,其中,第二线程和第一线程为同一进程下的线程。作为一种可选的实施例,上述第二线程可以是第一内核中运行的与第一线程为同一进程下的线程。当待执行的第一线程占用第一内核的比例超过阈值的情况下,判断第一内核中是否运行有与第一线程在同一进程下的线程,以便确定是否将当前待执行的第一线程绑定到CPU的其他内核上运行。步骤S106,在第一内核中运行有第二线程的情况下,至少根据第一线程占用第一内核的比例确定是否将第一线程或第二线程绑定到CPU中的第二内核上,其中,第二内核为多个内核中的之一。作为一种可选的实施例,上述第二内核可以是CPU多个内核中与第一内核的不同的任意一个内核,如果当前通过CPU第一内核待执行的第一线程占用第一内核的比例超过阈值,且第一内核中还运行有与第一线程在同一进程下的第二线程,则可以根据第一线程占用本文档来自技高网
...

【技术保护点】
1.一种线程绑定处理方法,其特征在于,包括:判断第一线程占用CPU的第一内核的比例是否超过阈值,其中,所述CPU包括多个内核,所述第一内核为所述多个内核中的之一;在所述第一线程占用所述第一内核的比例超过所述阈值的情况下,判断所述第一内核中是否还运行有第二线程,其中,所述第二线程和所述第一线程为同一进程下的线程;在所述第一内核中运行有所述第二线程的情况下,至少根据所述第一线程占用所述第一内核的比例确定是否将所述第一线程或所述第二线程绑定到所述CPU中的第二内核上,其中,所述第二内核为所述多个内核中的之一。

【技术特征摘要】
1.一种线程绑定处理方法,其特征在于,包括:判断第一线程占用CPU的第一内核的比例是否超过阈值,其中,所述CPU包括多个内核,所述第一内核为所述多个内核中的之一;在所述第一线程占用所述第一内核的比例超过所述阈值的情况下,判断所述第一内核中是否还运行有第二线程,其中,所述第二线程和所述第一线程为同一进程下的线程;在所述第一内核中运行有所述第二线程的情况下,至少根据所述第一线程占用所述第一内核的比例确定是否将所述第一线程或所述第二线程绑定到所述CPU中的第二内核上,其中,所述第二内核为所述多个内核中的之一。2.根据权利要求1所述的方法,其特征在于,在判断所述比例是否超过所述阈值之前,所述方法还包括:获取所述进程下绑定在所述第一内核中的所有线程;获取所述所有线程中的每个线程运行所需的占用CPU的比例;根据所述每个线程运行所需的占用CPU的比例以及当前运行的线程所占的CPU的比例确定所述阈值。3.根据权利要求1所述的方法,其特征在于,确定是否将所述第一线程或所述第二线程绑定到所述CPU的第二内核上包括:判断所述第一线程和所述第二线程的优先级;确定所述第一线程和所述第二线程中优先级较低的线程绑定到所述第二内核中。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一线程为云盘上传控件的界面线程,所述第二线程为云盘上传控件的工作线程。5.一种线程绑定处理装置,其特征在于,包括:第一判断单元,用于判断第一线程占用CPU的第一内核的比例是否超过阈值,其中,所述CPU包括多个内核,所述第...

【专利技术属性】
技术研发人员:谢振国张广超
申请(专利权)人:天津猎鹰网络技术有限公司
类型:发明
国别省市:天津,12

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

1