CN112395064A - 一种线程调度方法及装置 - Google Patents
一种线程调度方法及装置 Download PDFInfo
- Publication number
- CN112395064A CN112395064A CN202011296853.6A CN202011296853A CN112395064A CN 112395064 A CN112395064 A CN 112395064A CN 202011296853 A CN202011296853 A CN 202011296853A CN 112395064 A CN112395064 A CN 112395064A
- Authority
- CN
- China
- Prior art keywords
- task
- thread
- executed
- execution
- scheduling
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/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/5038—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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种线程调度方法及装置,涉及计算机技术领域,解决了现有的电子设备调度线程时效率较低的技术问题。线程调度方法包括:在确定待执行的第一任务后,若电子设备无执行第一任务的可用线程,则确定满足预设条件的执行线程,并调度执行线程执行第一任务。其中,预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种线程调度方法及装置。
背景技术
目前,电子设备的任务执行线程在执行任务时,通常根据接收任务的时间顺序确定任务执行的顺序,并根据该顺序执行任务。
当电子设备的任务执行线程占满后,电子设备再次接收的任务则会进入到任务等待队列,等待空闲的任务执行线程。
若电子设备在第一时刻之后接收的任务为紧急任务,则需要人工取消任务执行线程中,正在执行的任务,以处理紧急任务。在这种情况下,现有的线程调度方法费时费力,效率较低。
发明内容
本申请提供一种线程调度方法及装置,解决了现有的电子设备调度线程时效率较低的技术问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种线程调度方法,包括:在确定待执行的第一任务后,若电子设备无执行第一任务的可用线程,则确定满足预设条件的执行线程,并调度执行线程执行第一任务。其中,预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长。
由上可知,当电子设备在确定待执行的第一任务后,若无执行第一任务的可用线程,则确定满足预设条件的执行线程,并调度执行线程执行第一任务。在这种情况下,由于预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长,因此,电子设备避免了优先级高的紧急任务无法及时处理,并且无需人工取消正在执行任务的线程,提高了电子设备调度线程的效率。
第二方面,提供一种线程调度装置,包括:确定单元和调度单元。
确定单元,用于确定第一任务;第一任务为待执行的任务。确定单元,还用于若电子设备无执行确定单元确定的第一任务的可用线程,则确定满足预设条件的执行线程。预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长。调度单元,用于调度执行线程执行第一任务。
第三方面,提供一种线程调度装置,包括存储器和处理器。存储器用于存储计算机执行指令,处理器与存储器通过总线连接。当线程调度装置运行时,处理器执行存储器存储的计算机执行指令,以使线程调度装置执行第一方面所述的线程调度方法。
该线程调度装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述线程调度方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的线程调度方法。
第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如上述第一方面及其各种可能的实现方式所述的线程调度方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与线程调度装置的处理器封装在一起的,也可以与线程调度装置的处理器单独封装,本申请对此不作限定。
本发明中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请中,上述线程调度装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。
本发明的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种线程调度装置的硬件结构示意图;
图2为本申请实施例提供的又一种线程调度装置的硬件结构示意图;
图3为本申请实施例提供的一种线程调度方法的流程示意图;
图4为本申请实施例提供的又一种线程调度方法的流程示意图;
图5为本申请实施例提供的一种线程调度装置的结构示意图;
图6为本申请实施例提供的又一种线程调度装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
如背景技术所描述,若电子设备在第一时刻之后接收的任务为紧急任务,则需要人工取消任务执行线程中,正在执行的任务,以处理紧急任务。在这种情况下,现有的线程调度方法费时费力,效率较低。
针对上述问题,本申请实施例提供了一种线程调度方法,当电子设备在确定待执行的第一任务后,若无执行第一任务的可用线程,则确定满足预设条件的执行线程,并调度执行线程执行第一任务。在这种情况下,由于预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长,因此,电子设备避免了优先级高的紧急任务无法及时处理,并且无需人工取消正在执行任务的线程,提高了电子设备调度线程的效率。
上述线程调度装置可以为用于对线程调度的设备,也可以为该设备中的芯片,还可以为该设备中的片上系统。
可选的,该设备可以是物理机,例如:台式电脑,又称台式机或桌面机(desktopcomputer)、手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备。
可选的,上述线程调度装置也可以通过部署在物理机上的虚拟机(virtualmachine,VM),实现上述线程调度装置所要实现的功能。
为了便于理解,下面对本申请实施例中的线程调度装置的结构进行描述。
图1示出了本申请实施例提供的线程调度装置的一种硬件结构示意图。如图1所示,该线程调度装置包括处理器11,存储器12、通信接口13、总线14。处理器11,存储器12以及通信接口13之间可以通过总线14连接。
处理器11是线程调度装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器11可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器11可以包括一个或多个CPU,例如图1中所示的CPU 0和CPU 1。
存储器12可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器12可以独立于处理器11存在,存储器12可以通过总线14与处理器11相连接,用于存储指令或者程序代码。处理器11调用并执行存储器12中存储的指令或程序代码时,能够实现本发明实施例提供的线程调度方法。
另一种可能的实现方式中,存储器12也可以和处理器11集成在一起。
通信接口13,用于与其他设备通过通信网络连接。所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口13可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线14,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图1示出的结构并不构成对该线程调度装置的限定。除图1所示部件之外,该线程调度装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图2示出了本申请实施例中线程调度装置的另一种硬件结构。如图2所示,通信装置可以包括处理器21以及通信接口22。处理器21与通信接口22耦合。
处理器21的功能可以参考上述处理器11的描述。此外,处理器21还具备存储功能,可以参考上述存储器12的功能。
通信接口22用于为处理器21提供数据。该通信接口22可以是通信装置的内部接口,也可以是线程调度装置对外的接口(相当于通信接口13)。
需要指出的是,图1(或图2)中示出的结构并不构成对线程调度装置的限定,除图1(或图2)所示部件之外,该线程调度装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合上述图1(或图2)示出的业务处理装置,对本申请实施例提供的业务处理方法进行详细介绍。
图3为本申请实施例提供的一种线程调度方法的流程示意图。如图3所示,该线程调度方法包括下述S301-S308。
S301、电子设备确定第一任务。
其中,第一任务为待执行的任务。
电子设备在执行任务编排类软件(例如Jenkins软件等)时,可以根据当前的可用线程执行接收到的任务。
可选的,上述任务可以是定时任务、部署任务、传输任务等任务。
电子设备可以将待执行的任务确定为第一任务。
可选的,电子设备在接收待执行任务时,可能在预设时间段内获取到至少一个待执行任务。在这种情况下,电子设备将至少一个待执行任务添加到待执行的任务列表中,并从预先存储的数据库中,为每个待执行任务添加权重。
其中,电子设备为每个待执行任务添加的权重用于表示至少一个待执行任务中,每个待执行任务的优先级。
示例性的,电子设备为每个待执行任务添加的权重可以按照从低到高的顺序,由阿拉伯数字1到10表示,权重数值大的任务对应优先级高的任务。相应的,权重数值低的任务对应优先级低的任务。
需要说明的是,若有两个任务的优先级相同,则按照接收任务的时间顺序为待执行任务添加权重。电子设备对接收任务的时间早对应的任务添加的权重值大于接收任务的时间晚对应的任务添加的权重值。
在获取到至少一个待执行任务中,每个待执行任务的优先级后,电子设备将至少一个待执行任务中,优先级最高的待执行任务确定为第一任务。
可选的,当电子设备在预设时间段内重复接收到同一个任务的执行请求时,电子设备取消任务列表中之前提交的该任务,并保留该任务最新的执行请求。
S302、电子设备判断电子设备是否有执行第一任务的可用线程。
电子设备在执行任务编排类软件时,电子设备可以通过线程执行任务编排类软件中待执行的任务。
具体的,电子设备包括多个线程,多个线程包括可用线程和执行线程。其中,可用线程为电子设备中的空闲线程,可以在接收到任务时执行任务。执行线程为电子设备中正在执行任务的线程。
在确定第一任务后,由于电子设备需要线程执行第一任务,因此,电子设备判断电子设备是否有执行第一任务的可用线程。
若电子设备无执行第一任务的可用线程,则执行S303-S304;若电子设备有可用线程,则执行S305-S308。
S303、电子设备确定满足预设条件的执行线程。
若电子设备无执行第一任务的可用线程,则电子设备确定满足预设条件的执行线程。其中,预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长。
可选的,在接收待执行任务时,电子设备确定每个待执行任务的优先级。在这种情况下,电子设备可以获取到第一任务的优先级和第二任务的优先级。
可选的,电子设备的执行线程在执行第二任务时,可以在启动执行第二任务时启动定时器,并根据定时器的启动时刻,确定执行第二任务的执行时长。
在确定第一任务的优先级和第二任务的优先级,以及执行第二任务的执行时长后,若执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长,则电子设备确定该执行线程为满足预设条件的执行线程。
S304、电子设备调度执行线程执行第一任务。
在确定满足预设条件的执行线程后,电子设备调度执行线程执行第一任务。
具体的,当执行线程执行的第二任务的优先级低于第一任务的优先级时,说明执行线程正在执行优先级低于第一任务的优先级的第二任务。其次,执行线程执行第二任务的执行时长小于预设时长时,说明该执行线程还未执行第二任务太长时间。在这种情况下,为了及时处理优先级高的第一任务,电子设备控制执行线程停止执行第二任务,并调度执行线程执行第一任务。
需要说明的是,在控制执行线程停止执行第二任务时,电子设备将第二任务重新添加到待执行任务的列表中,并将添加第二任务后的待执行任务的列表,按照任务的优先级重新排序。
S305、电子设备判断正在执行的任务中是否包括第一任务。
若电子设备有可用线程,则电子设备判断正在执行的任务中是否包括第一任务,防止电子设备重复执行第一任务。
若正在执行的任务中包括第一任务,则执行S306;若正在执行的任务中不包括第一任务,则执行S308。
S306、电子设备确定第三任务。
具体的,若正在执行的任务中包括第一任务,则电子设备确定第三任务,以保证电子设备可以快速执行优先级低于第一任务的其他任务。其中,第三任务为至少一个待执行任务中,除第一任务以外优先级最高的任务。
S307、电子设备调度可用线程执行第三任务。
在确定第三任务后,电子设备调度可用线程执行第三任务。
S308、电子设备调度可用线程执行第一任务。
若正在执行的任务中不包括第一任务,则电子设备调度可用线程执行第一任务。
本申请实施例提供一种线程调度方法,包括:在确定待执行的第一任务后,若电子设备无执行第一任务的可用线程,则确定满足预设条件的执行线程,并调度执行线程执行第一任务。其中,预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长。
由上可知,当电子设备在确定待执行的第一任务后,若无执行第一任务的可用线程,则确定满足预设条件的执行线程,并调度执行线程执行第一任务。在这种情况下,由于预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长,因此,电子设备避免了优先级高的紧急任务无法及时处理,并且无需人工取消正在执行任务的线程,提高了电子设备调度线程的效率。
可选的,结合上述图3,如图4所示,上述S301可以替换为S401-S403。
S401、电子设备获取至少一个待执行任务。
S402、电子设备获取至少一个待执行任务中,每个待执行任务的优先级。
S403、电子设备将至少一个待执行任务中,优先级最高的待执行任务确定为第一任务。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对线程调度装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图5所示,为本申请实施例提供的一种线程调度装置50的结构示意图。该线程调度装置50用于解决现有的电子设备调度线程时效率较低的技术问题,例如用于执行图3或图4所示的线程调度方法。该线程调度装置50包括:确定单元501和调度单元502。
确定单元501,用于确定第一任务。第一任务为待执行的任务。例如,结合图3和图4,确定单元501用于执行S301。
确定单元501,还用于若电子设备无执行确定单元501确定的第一任务的可用线程,则确定满足预设条件的执行线程。预设条件为执行线程执行的第二任务的优先级低于第一任务的优先级、且执行线程执行第二任务的执行时长小于预设时长。例如,结合图3和图4,确定单元501用于执行S303。
调度单元502,用于调度执行线程执行第一任务。例如,结合图3和图4,调度单元502用于执行S304。
可选的,确定单元501,具体用于:
获取至少一个待执行任务。例如,结合图4,确定单元501用于执行S401。
获取至少一个待执行任务中,每个待执行任务的优先级。例如,结合图4,确定单元501用于执行S402。
将至少一个待执行任务中,优先级最高的待执行任务确定为第一任务。例如,结合图4,确定单元501用于执行S403。
可选的,结合图5,如图6所示,线程调度装置50还包括:判断单元503。
判断单元503,用于若电子设备有可用线程,则判断正在执行的任务中是否包括第一任务。例如,结合图3和图4,判断单元503用于执行S305。
确定单元501,还用于若正在执行的任务中包括第一任务,则确定第三任务。第三任务为至少一个待执行任务中,除第一任务以外优先级最高的任务。例如,结合图3和图4,确定单元501用于执行S306。
调度单元502,还用于调度可用线程执行确定单元501确定的第三任务。例如,结合图3和图4,调度单元502用于执行S307。
可选的,调度单元502,还用于若正在执行的任务中不包括第一任务,则调度可用线程执行第一任务。例如,结合图3和图4,调度单元502用于执行S308。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令。当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的线程调度方法中,线程调度装置执行的各个步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品可直接加载到存储器中,并含有软件代码,该计算机程序产品经由计算机载入并执行后能够实现上述实施例提供的线程调度方法中,线程调度装置执行的各个步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取的存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种线程调度方法,应用于电子设备,其特征在于,包括:
确定第一任务;所述第一任务为待执行的任务;
若所述电子设备无执行所述第一任务的可用线程,则确定满足预设条件的执行线程;所述预设条件为所述执行线程执行的第二任务的优先级低于所述第一任务的优先级、且所述执行线程执行所述第二任务的执行时长小于预设时长;
调度所述执行线程执行所述第一任务。
2.根据权利要求1所述的线程调度方法,其特征在于,所述确定第一任务,包括:
获取至少一个待执行任务;
获取所述至少一个待执行任务中,每个待执行任务的优先级;
将所述至少一个待执行任务中,优先级最高的待执行任务确定为所述第一任务。
3.根据权利要求2所述的线程调度方法,其特征在于,还包括:
若所述电子设备有所述可用线程,则判断正在执行的任务中是否包括所述第一任务;
若所述正在执行的任务中包括所述第一任务,则确定第三任务;所述第三任务为所述至少一个待执行任务中,除所述第一任务以外优先级最高的任务;
调度所述可用线程执行所述第三任务。
4.根据权利要求3所述的线程调度方法,其特征在于,还包括:
若所述正在执行的任务中不包括所述第一任务,则调度所述可用线程执行所述第一任务。
5.一种线程调度装置,应用于电子设备,其特征在于,包括:确定单元和调度单元;
所述确定单元,用于确定第一任务;所述第一任务为待执行的任务;
所述确定单元,还用于若所述电子设备无执行所述确定单元确定的所述第一任务的可用线程,则确定满足预设条件的执行线程;所述预设条件为所述执行线程执行的第二任务的优先级低于所述第一任务的优先级、且所述执行线程执行所述第二任务的执行时长小于预设时长;
所述调度单元,用于调度所述执行线程执行所述第一任务。
6.根据权利要求5所述的线程调度装置,其特征在于,所述确定单元,具体用于:
获取至少一个待执行任务;
获取所述至少一个待执行任务中,每个待执行任务的优先级;
将所述至少一个待执行任务中,优先级最高的待执行任务确定为所述第一任务。
7.根据权利要求6所述的线程调度装置,其特征在于,还包括:判断单元;
所述判断单元,用于若所述电子设备有所述可用线程,则判断正在执行的任务中是否包括所述第一任务;
所述确定单元,还用于若所述正在执行的任务中包括所述第一任务,则确定第三任务;所述第三任务为所述至少一个待执行任务中,除所述第一任务以外优先级最高的任务;
所述调度单元,还用于调度所述可用线程执行所述确定单元确定的所述第三任务。
8.根据权利要求7所述的线程调度装置,其特征在于,
所述调度单元,还用于若所述正在执行的任务中不包括所述第一任务,则调度所述可用线程执行所述第一任务。
9.一种线程调度装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;
当所述线程调度装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述线程调度装置执行如权利要求1-4任一项所述的线程调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-4任一项所述的线程调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011296853.6A CN112395064A (zh) | 2020-11-18 | 2020-11-18 | 一种线程调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011296853.6A CN112395064A (zh) | 2020-11-18 | 2020-11-18 | 一种线程调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112395064A true CN112395064A (zh) | 2021-02-23 |
Family
ID=74606530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011296853.6A Pending CN112395064A (zh) | 2020-11-18 | 2020-11-18 | 一种线程调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395064A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1276887A (zh) * | 1997-10-23 | 2000-12-13 | 国际商业机器公司 | 多线程处理器系统中的线程切换控制 |
US20140359632A1 (en) * | 2013-05-31 | 2014-12-04 | Microsoft Corporation | Efficient priority-aware thread scheduling |
CN104915256A (zh) * | 2015-06-05 | 2015-09-16 | 惠州Tcl移动通信有限公司 | 一种任务的实时调度实现方法及其系统 |
CN108563494A (zh) * | 2018-04-04 | 2018-09-21 | 吉林省星途科技有限公司 | 一种自适应动态调整的线程调度系统及方法 |
CN109783229A (zh) * | 2018-12-17 | 2019-05-21 | 平安普惠企业管理有限公司 | 线程资源分配的方法及装置 |
CN111367652A (zh) * | 2020-01-07 | 2020-07-03 | 苏州大学 | 一种嵌入式实时操作系统的任务调度处理系统和方法 |
-
2020
- 2020-11-18 CN CN202011296853.6A patent/CN112395064A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1276887A (zh) * | 1997-10-23 | 2000-12-13 | 国际商业机器公司 | 多线程处理器系统中的线程切换控制 |
US20140359632A1 (en) * | 2013-05-31 | 2014-12-04 | Microsoft Corporation | Efficient priority-aware thread scheduling |
CN104915256A (zh) * | 2015-06-05 | 2015-09-16 | 惠州Tcl移动通信有限公司 | 一种任务的实时调度实现方法及其系统 |
CN108563494A (zh) * | 2018-04-04 | 2018-09-21 | 吉林省星途科技有限公司 | 一种自适应动态调整的线程调度系统及方法 |
CN109783229A (zh) * | 2018-12-17 | 2019-05-21 | 平安普惠企业管理有限公司 | 线程资源分配的方法及装置 |
CN111367652A (zh) * | 2020-01-07 | 2020-07-03 | 苏州大学 | 一种嵌入式实时操作系统的任务调度处理系统和方法 |
Non-Patent Citations (1)
Title |
---|
景林等: "《可编程序控制器网络技术及应用》", 中国林业出版社, pages: 37 - 38 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2893444B1 (en) | Quota-based resource management | |
KR100509794B1 (ko) | 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법 | |
CN107748696B (zh) | 一种任务调度的方法及终端设备 | |
CN111061556A (zh) | 执行优先级任务的优化方法、装置、计算机设备及介质 | |
US20100153957A1 (en) | System and method for managing thread use in a thread pool | |
CN102541661B (zh) | 实现等待地址同步接口的方法和设备 | |
US7606958B2 (en) | Interrupt control method, interrupt control apparatus and interrupt control medium | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN111897637B (zh) | 作业调度方法、装置、主机及存储介质 | |
JP2018508886A (ja) | マルチプロセッサシステムにおける揮発性メモリ保守イベントのスケジューリング | |
CN113722056A (zh) | 任务调度方法、装置、电子设备和计算机可读介质 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN112650478A (zh) | 一种嵌入式软件开发平台动态构建方法、系统及设备 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN114327894A (zh) | 资源分配方法、装置、电子设备及存储介质 | |
EP4386554A1 (en) | Instruction distribution method and device for multithreaded processor, and storage medium | |
WO2020211358A1 (zh) | 数据库调度方法、装置、计算机设备及存储介质 | |
CN112395064A (zh) | 一种线程调度方法及装置 | |
JP2018508884A (ja) | 揮発性メモリ保守イベントのカーネルスケジューリングを提供するためのシステムおよび方法 | |
CN115396515A (zh) | 资源调度方法、装置及存储介质 | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
CN115129438A (zh) | 任务分布式调度的方法和装置 | |
CN114138626A (zh) | 用于自动化固件测试的水平可扩展分布式系统及其方法 | |
CN111258757A (zh) | 任务自动编排方法、装置、计算机设备以及存储介质 | |
CN114880075B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210223 |