CN109189483A - 任务执行的调控方法、装置、设备/终端/服务器及存储介质 - Google Patents
任务执行的调控方法、装置、设备/终端/服务器及存储介质 Download PDFInfo
- Publication number
- CN109189483A CN109189483A CN201810869318.1A CN201810869318A CN109189483A CN 109189483 A CN109189483 A CN 109189483A CN 201810869318 A CN201810869318 A CN 201810869318A CN 109189483 A CN109189483 A CN 109189483A
- Authority
- CN
- China
- Prior art keywords
- worker thread
- task
- created
- working condition
- thread
- 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
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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Factory Administration (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种任务执行的调控方法、装置、设备/终端/服务器及计算机可读存储介质,涉及任务调控领域。其中,所述任务执行的调控方法包括:获取用于工作任务并发执行的工作线程的数量;基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。通过本申请实施例,在不频繁地创建额外的工作线程的情况下,能够动态调控用于工作任务并发执行的工作线程的数量,进而能够实现并发执行的工作任务的数量的动态调整,从而提高工作任务并发执行的效率。
Description
技术领域
本申请实施例涉及任务调控领域,尤其涉及一种任务执行的调控方法、装置、设备/终端/服务器及计算机可读存储介质。
背景技术
现在市场上提供下载功能的客户端的都会有属于自己的下载任务管理功能,而在实际的下载任务管理场景当中往往是需要做到下载任务的个数是可以动态设置的,这样就可以控制下载任务的并发下载数量。了解到目前大多数控制下载任务的并发下载数量的技术实现方案是需要监听下载任务是否完成的状态,然后再去轮询下载任务存储队列确定是否还有待执行的下载任务。如果下载任务存储队列中还有待执行的下载任务,就再重新创建任务线程去执行下载任务。这样,目前的技术实现方案存在以下缺陷:一个是需要实时地监听下载任务的完成状态,另一个是需要频繁地创建额外的工作线程去执行下载任务。
发明内容
有鉴于此,本申请实施例所解决的技术问题之一在于提供一种任务执行的调控的方案,以解决现有技术中存在的在调整并发执行的工作任务的数量时产生的频繁创建额外的工作线程的问题。
本申请实施例提供了一种任务执行的调控方法,所述方法包括:获取用于工作任务并发执行的工作线程的数量;基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
本申请实施例还提供了一种任务执行的调控装置,所述装置包括:第一获取模块,被配置为获取用于工作任务并发执行的工作线程的数量;第一确定模块,被配置为基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
本申请实施例还提供了一种设备/终端/服务器,包括:一个或多个处理器;存储装置,配置为存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的任务执行的调控方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的任务执行的调控方法。
通过本申请实施例提供的任务执行的调控的技术方案,获取用于工作任务并发执行的工作线程的数量,并基于用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程,与现有的其它方式相比,利用预先创建的工作线程的条件变量确定用于工作任务并发执行的工作线程,能够在不频繁地创建额外的工作线程的情况下,动态调控用于工作任务并发执行的工作线程的数量,进而实现并发执行的工作任务的数量的动态调整,从而提高工作任务并发执行的效率。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请实施例一的一种任务执行的调控方法的步骤流程图;
图2是根据本申请实施例二的一种任务执行的调控方法的步骤流程图;
图3是根据本申请实施例三的一种任务执行的调控装置的结构框图;
图4是根据本申请实施例四的一种任务执行的调控装置的结构框图;
图5是根据本申请实施例五的一种任务执行的调控装置的结构框图;
图6是根据本申请实施例六的一种设备/终端/服务器的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
实施例一
参照图1,示出了根据本申请实施例一的一种任务执行的调控方法的步骤流程图。
本实施例的任务执行的调控方法包括以下步骤:
在步骤S101中,获取用于工作任务并发执行的工作线程的数量。
在本申请实施例中,用户可先在工作线程数量设置器中设置用于工作任务并发执行的工作线程的数量,然后从工作线程数量设置器中获取用于工作任务并发执行的工作线程的数量。在一些可选实施例中,可由电子设备根据工作任务的执行情况自动设置用于工作任务并发执行的工作线程的数量。其中,所述工作任务包括下载任务。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在本申请实施例中,并发执行可理解为在一个时间段内有几个工作任务都处于已启动执行到执行完毕之间,且这几个工作任务都是在同一个处理机上运行,但任一个时刻点上只有一个工作任务在处理机上运行。具体地,当有多个工作线程在操作时,如果***只有一个CPU,则它不可能真正同时进行一个以上的工作线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个工作线程执行,在一个时间段的工作线程代码运行时,其它工作线程处于挂起状。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在步骤S102中,基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
在本申请实施例中,预先创建的工作线程的数量为多个,并且每个预先创建的工作线程对应有一个条件变量。通过工作线程的条件变量,来实现工作线程的自阻塞逻辑。具体地,针对预先创建的工作线程中的每个工作线程,如果将工作线程的工作状态由唤醒状态调整为休眠状态,则通过工作线程的条件变量在同步语句块中调用等待函数,将工作线程的工作状态由唤醒状态调整为休眠状态;针对预先创建的工作线程中的每个工作线程,如果将工作线程的工作状态由休眠状态调整为唤醒状态,则通过工作线程的条件变量在同步语句块中调用通知函数,将工作线程的工作状态由休眠状态调整为唤醒状态。其中,预先创建的工作线程的工作状态包括休眠状态和/或唤醒状态。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一些可选实施例中,在基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程时,如果所述用于工作任务并发执行的工作线程的数量小于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。可以理解的是,任何基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程的实施方式均可适用于此,本申请实施例对此不做任何限定。
在一些可选实施例中,在通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程时,如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量;如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量大于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量。籍此,能够在不频繁地创建额外的工作线程的情况下,动态调控用于工作任务并发执行的工作线程的数量,进而实现并发执行的工作任务的数量的动态调整。可以理解的是,任何通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程的实施方式均可适用于此,本申请实施例对此不做任何限定。
在一些可选实施例中,在基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程时,如果所述用于工作任务并发执行的工作线程的数量等于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。可以理解的是,任何基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程的实施方式均可适用于此,本申请实施例对此不做任何限定。
在一些可选实施例中,在通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程时,如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程的工作状态均为唤醒状态。籍此,能够在不频繁地创建额外的工作线程的情况下,动态调控用于工作任务并发执行的工作线程的数量,进而实现并发执行的工作任务的数量的动态调整。可以理解的是,任何通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程的实施方式均可适用于此,本申请实施例对此不做任何限定。
在一些可选实施例中,在通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态时,通过所述预先创建的工作线程中的工作状态为休眠状态的工作线程的条件变量在同步语句块中调用通知函数,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态。可以理解的是,任何将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态的实施方式均可适用于此,本申请实施例对此不做任何限定。
在一些可选实施例中,在通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态时,通过所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的条件变量在同步语句块中调用等待函数,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态。可以理解的是,任何将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态的实施方式均可适用于此,本申请实施例对此不做任何限定。
通过本申请实施例提供的任务执行的调控方法,获取用于工作任务并发执行的工作线程的数量,并基于用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程,与现有的其它方式相比,利用预先创建的工作线程的条件变量确定用于工作任务并发执行的工作线程,能够在不频繁地创建额外的工作线程的情况下,动态调控用于工作任务并发执行的工作线程的数量,进而实现并发执行的工作任务的数量的动态调整,从而提高工作任务并发执行的效率。
本实施例的任务执行的调控方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、PC机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(PDA)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如Google Glass、Oculus Rift、Hololens、Gear VR)等。
实施例二
参照图2,示出了根据本申请实施例二的一种任务执行的调控方法的步骤流程图。
本实施例的任务执行的调控方法包括以下步骤:
在步骤S201中,获取用于工作任务并发执行的工作线程的数量。
由于该步骤S201与上述步骤S101类似,在此不再赘述。
在步骤S202中,如果所述用于工作任务并发执行的工作线程的数量大于预先创建的工作线程的数量,则创建新的工作线程,以使得所述预先创建的工作线程的数量与所述新的工作线程的数量的和等于所述用于工作任务并发执行的工作线程的数量。
在一些可选实施例中,通过所述预先创建的工作线程和所述新的工作线程的条件变量,将所述预先创建的工作线程与所述新的工作线程的工作状态均调整为唤醒状态。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在本申请实施例中,针对创建得到的每个新的工作线程,对应设置有条件变量。可通过新的工作线程的条件变量,来实现新的工作线程的自阻塞逻辑。具体的实现过程与预先创建的工作线程类似,在此不再赘述。
在一些可选实施例中,所述方法还包括:获取所述工作任务的基础信息;基于所述工作任务的基础信息,将所述工作任务存储在阻塞队列中。其中,所述基础信息包括工作任务的类型和大小。籍此,不需要实时地监听工作任务的完成状态,能够实现多个工作任务的调度和并发执行。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在本申请实施例中,通过阻塞队列,可以使得工作任务由队列的一端输入,从另外一端输出。具体地,本申请实施例涉及的阻塞队列采用先进先出的原则,即先***阻塞队列的工作任务也最先出队列,类似于排队的功能。在多工作线程的环境中,通过阻塞队列可以很容易实现工作任务的共享。假设有若干个工作任务产生线程,另外又有若干个工作任务执行线程。如果工作任务产生线程需要把准备好的工作任务共享给工作任务执行线程,利用队列的方式来传递工作任务,可以很方便地解决它们之间的工作任务共享问题。理想情况下,如果工作任务产生线程产生工作任务的速度大于工作任务执行线程执行工作任务的速度,并且当工作任务产生线程产生出来的工作任务累积到一定程度的时,那么工作任务产生线程必须暂停等待一下(阻塞工作任务产生线程),以便等待工作任务执行线程把累积的工作任务处理完毕,反之亦然。然而,在不使用阻塞队列的情况下,在多线程环境下,每个程序员都必须去自己控制这些细节,尤其还要兼顾效率和线程安全,而这会给程序带来不小的复杂度。其中,在多线程领域中,所谓阻塞,在某些情况下会挂起线程(即阻塞),一旦条件满足,被挂起的线程又会自动被唤醒。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
在一个具体的例子中,通过所述用于工作任务并发执行的工作线程,依次从所述阻塞队列中获取所述工作任务,并且并发执行所述工作任务。具体地,通过用于工作任务并发执行的每个工作线程,依次从所述阻塞队列中获取相应的工作任务,并且并发执行工作任务。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。
通过本申请实施例提供的任务执行的调控方法,获取工作任务的基础信息,并基于工作任务的基础信息,将工作任务存储在阻塞队列中,与现有的其它方式相比,将工作任务存储在阻塞队列中,不需要实时地监听工作任务的完成状态,能够实现多个工作任务的调度和并发执行。
本实施例的任务执行的调控方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:摄像头、终端、移动终端、PC机、服务器、车载设备、娱乐设备、广告设备、个人数码助理(PDA)、平板电脑、笔记本电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如Google Glass、Oculus Rift、Hololens、Gear VR)等。
实施例三
参照图3,示出了根据本申请实施例三的一种任务执行的调控装置的结构框图。
本实施例的任务执行的调控装置包括:第一获取模块301,被配置为获取用于工作任务并发执行的工作线程的数量;第一确定模块302,被配置为基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
本实施例的任务执行的调控装置用于实现前述多个方法实施例中相应的任务执行的调控方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例四
参照图4,示出了根据本申请实施例四的一种任务执行的调控装置的结构框图。
本实施例的任务执行的调控装置包括:第一获取模块401,被配置为获取用于工作任务并发执行的工作线程的数量;第一确定模块402,被配置为基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
可选地,所述第一确定模块402,包括:第二确定模块4021,被配置为如果所述用于工作任务并发执行的工作线程的数量小于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。
可选地,所述第二确定模块4021,包括:第一调整模块4022,被配置为如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量,其中,所述工作状态包括唤醒状态和/或休眠状态。
可选地,所述第二确定模块4021,还包括:第二调整模块4023,被配置为如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量大于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量,其中,所述工作状态包括唤醒状态和/或休眠状态。
可选地,所述第一确定模块402,还包括:第三确定模块4024,被配置为如果所述用于工作任务并发执行的工作线程的数量等于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。
可选地,所述第三确定模块4024,包括:第三调整模块4025,被配置为如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程的工作状态均为唤醒状态,其中,所述工作状态包括唤醒状态和/或休眠状态。
可选地,所述第一确定模块402,还包括:创建模块4026,被配置为如果所述用于工作任务并发执行的工作线程的数量大于预先创建的工作线程的数量,则创建新的工作线程,以使得所述预先创建的工作线程的数量与所述新的工作线程的数量的和等于所述用于工作任务并发执行的工作线程的数量。
可选地,所述第一确定模块402,还包括:第四调整模块4027,被配置为通过所述预先创建的工作线程和所述新的工作线程的条件变量,将所述预先创建的工作线程与所述新的工作线程的工作状态均调整为唤醒状态。
本实施例的任务执行的调控装置用于实现前述多个方法实施例中相应的任务执行的调控方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例五
参照图5,示出了根据本申请实施例五的一种任务执行的调控装置的结构框图。
本实施例的任务执行的调控装置包括:第一获取模块504,被配置为获取用于工作任务并发执行的工作线程的数量;第一确定模块505,被配置为基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
可选地,所述第一调整模块5051,包括:第五调整模块5052,被配置为通过所述预先创建的工作线程中的工作状态为休眠状态的工作线程的条件变量在同步语句块中调用通知函数,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态。
可选地,所述第二调整模块5053,包括:第六调整模块5054,被配置为通过所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的条件变量在同步语句块中调用等待函数,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态。
可选地,所述装置还包括:第二获取模块501,被配置为获取所述工作任务的基础信息;存储模块502,被配置为基于所述工作任务的基础信息,将所述工作任务存储在阻塞队列中。
可选地,所述装置还包括:第三获取模块503,被配置为通过所述用于工作任务并发执行的工作线程,依次从所述阻塞队列中获取所述工作任务,并且并发执行所述工作任务。
可选地,所述基础信息包括工作任务的类型和大小。
可选地,所述工作任务包括下载任务。
本实施例的任务执行的调控装置用于实现前述多个方法实施例中相应的任务执行的调控方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例六
参照图6,示出了根据本申请实施例六的一种设备/终端/服务器的结构示意图,本申请具体实施例并不对设备/终端/服务器的具体实现做限定。
如图6所示,该设备/终端/服务器可以包括:处理器(processor)601、存储装置602。
其中:
处理器601,用于执行程序603,具体可以执行上述任务执行的调控方法实施例中的相关步骤。
具体地,程序603可以包括程序代码,该程序代码包括计算机操作指令。
处理器601可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。设备/终端/服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储装置602,配置为存放一个或多个程序603。存储装置602可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序603具体可以用于使得处理器601执行以下操作:获取用于工作任务并发执行的工作线程的数量;基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
在一种可选的实施方式中,程序603还用于使得处理器601在基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程时,如果所述用于工作任务并发执行的工作线程的数量小于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。
在一种可选的实施方式中,程序603还用于使得处理器601在通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程时,如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量,其中,所述工作状态包括唤醒状态和/或休眠状态。
在一种可选的实施方式中,程序603还用于使得处理器601在通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程时,如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量大于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量,其中,所述工作状态包括唤醒状态和/或休眠状态。
在一种可选的实施方式中,程序603还用于使得处理器601在基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程时,如果所述用于工作任务并发执行的工作线程的数量等于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。
在一种可选的实施方式中,程序603还用于使得处理器601在通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程时,如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程的工作状态均为唤醒状态,其中,所述工作状态包括唤醒状态和/或休眠状态。
在一种可选的实施方式中,程序603还用于使得处理器601在基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程时,如果所述用于工作任务并发执行的工作线程的数量大于预先创建的工作线程的数量,则创建新的工作线程,以使得所述预先创建的工作线程的数量与所述新的工作线程的数量的和等于所述用于工作任务并发执行的工作线程的数量。
在一种可选的实施方式中,程序603还用于使得处理器601通过所述预先创建的工作线程和所述新的工作线程的条件变量,将所述预先创建的工作线程与所述新的工作线程的工作状态均调整为唤醒状态。
在一种可选的实施方式中,程序603还用于使得处理器601在通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态时,通过所述预先创建的工作线程中的工作状态为休眠状态的工作线程的条件变量在同步语句块中调用通知函数,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态。
在一种可选的实施方式中,程序603还用于使得处理器601在通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态时,通过所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的条件变量在同步语句块中调用等待函数,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态。
在一种可选的实施方式中,程序603还用于使得处理器601获取所述工作任务的基础信息;基于所述工作任务的基础信息,将所述工作任务存储在阻塞队列中。
在一种可选的实施方式中,程序603还用于使得处理器601通过所述用于工作任务并发执行的工作线程,依次从所述阻塞队列中获取所述工作任务,并且并发执行所述工作任务。
在一种可选的实施方式中,所述基础信息包括工作任务的类型和大小。
在一种可选的实施方式中,所述工作任务包括下载任务。
程序603中各步骤的具体实现可以参见上述任务执行的调控方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的设备/终端/服务器,获取用于工作任务并发执行的工作线程的数量,并基于用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程,与现有的其它方式相比,利用预先创建的工作线程的条件变量确定用于工作任务并发执行的工作线程,能够在不频繁地创建额外的工作线程的情况下,动态调控用于工作任务并发执行的工作线程的数量,进而实现并发执行的工作任务的数量的动态调整,从而提高工作任务并发执行的效率。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
特别地,根据本申请实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行上文多个方法实施例中所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请实施例示出的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储装置(RAM)、只读存储装置(ROM)、可擦式可编程只读存储装置(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储装置(CD-ROM)、光存储装置件、磁存储装置件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言------诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言------诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络------包括局域网(LAN)或广域网(WAN)------连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、处理单元、和测试单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“根据测试指令获取待测试目标对象的业务测试文件的单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一实施例所描述的方法。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置所在的设备获取用于工作任务并发执行的工作线程的数量;基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (30)
1.一种任务执行的调控方法,其特征在于,所述方法包括:
获取用于工作任务并发执行的工作线程的数量;
基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
2.根据权利要求1所述的方法,其特征在于,所述基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程,包括:
如果所述用于工作任务并发执行的工作线程的数量小于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。
3.根据权利要求2所述的方法,其特征在于,所述通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程,包括:
如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量,其中,所述工作状态包括唤醒状态和/或休眠状态。
4.根据权利要求2所述的方法,其特征在于,所述通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程,包括:
如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量大于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量,其中,所述工作状态包括唤醒状态和/或休眠状态。
5.根据权利要求1所述的方法,其特征在于,所述基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程,包括:
如果所述用于工作任务并发执行的工作线程的数量等于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。
6.根据权利要求5所述的方法,其特征在于,所述通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程,包括:
如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程的工作状态均为唤醒状态,其中,所述工作状态包括唤醒状态和/或休眠状态。
7.根据权利要求1所述的方法,其特征在于,所述基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程,包括:
如果所述用于工作任务并发执行的工作线程的数量大于预先创建的工作线程的数量,则创建新的工作线程,以使得所述预先创建的工作线程的数量与所述新的工作线程的数量的和等于所述用于工作任务并发执行的工作线程的数量。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
通过所述预先创建的工作线程和所述新的工作线程的条件变量,将所述预先创建的工作线程与所述新的工作线程的工作状态均调整为唤醒状态。
9.根据权利要求3所述的方法,其特征在于,所述通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,包括:
通过所述预先创建的工作线程中的工作状态为休眠状态的工作线程的条件变量在同步语句块中调用通知函数,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态。
10.根据权利要求4所述的方法,其特征在于,所述通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态,包括:
通过所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的条件变量在同步语句块中调用等待函数,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态。
11.根据权利要求1-10中任意一项权利要求所述的方法,其特征在于,所述方法还包括:
获取所述工作任务的基础信息;
基于所述工作任务的基础信息,将所述工作任务存储在阻塞队列中。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
通过所述用于工作任务并发执行的工作线程,依次从所述阻塞队列中获取所述工作任务,并且并发执行所述工作任务。
13.根据权利要求11所述的方法,其特征在于,所述基础信息包括工作任务的类型和大小。
14.根据权利要求1-13中任意一项权利要求所述的方法,其特征在于,所述工作任务包括下载任务。
15.一种任务执行的调控装置,其特征在于,所述装置包括:
第一获取模块,被配置为获取用于工作任务并发执行的工作线程的数量;
第一确定模块,被配置为基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
16.根据权利要求15所述的装置,其特征在于,所述第一确定模块,包括:
第二确定模块,被配置为如果所述用于工作任务并发执行的工作线程的数量小于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。
17.根据权利要求16所述的装置,其特征在于,所述第二确定模块,包括:
第一调整模块,被配置为如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量,其中,所述工作状态包括唤醒状态和/或休眠状态。
18.根据权利要求16所述的装置,其特征在于,所述第二确定模块,还包括:
第二调整模块,被配置为如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量大于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态,以使得所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量等于所述用于工作任务并发执行的工作线程的数量,其中,所述工作状态包括唤醒状态和/或休眠状态。
19.根据权利要求15所述的装置,其特征在于,所述第一确定模块,还包括:
第三确定模块,被配置为如果所述用于工作任务并发执行的工作线程的数量等于预先创建的工作线程的数量,则检测所述预先创建的工作线程的工作状态,并通过所述预先创建的工作线程的工作变量,调整所述预先创建的工作线程的工作状态,以确定用于工作任务并发执行的工作线程。
20.根据权利要求19所述的装置,其特征在于,所述第三确定模块,包括:
第三调整模块,被配置为如果所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的数量小于所述用于工作任务并发执行的工作线程的数量,则通过所述预先创建的工作线程的条件变量,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态,以使得所述预先创建的工作线程的工作状态均为唤醒状态,其中,所述工作状态包括唤醒状态和/或休眠状态。
21.根据权利要求15所述的装置,其特征在于,所述第一确定模块,还包括:
创建模块,被配置为如果所述用于工作任务并发执行的工作线程的数量大于预先创建的工作线程的数量,则创建新的工作线程,以使得所述预先创建的工作线程的数量与所述新的工作线程的数量的和等于所述用于工作任务并发执行的工作线程的数量。
22.根据权利要求21所述的装置,其特征在于,所述第一确定模块,还包括:
第四调整模块,被配置为通过所述预先创建的工作线程和所述新的工作线程的条件变量,将所述预先创建的工作线程与所述新的工作线程的工作状态均调整为唤醒状态。
23.根据权利要求17所述的装置,其特征在于,所述第一调整模块,包括:
第五调整模块,被配置为通过所述预先创建的工作线程中的工作状态为休眠状态的工作线程的条件变量在同步语句块中调用通知函数,将所述预先创建的工作线程中的工作状态为休眠状态的工作线程的工作状态调整为唤醒状态。
24.根据权利要求18所述的装置,其特征在于,所述第二调整模块,包括:
第六调整模块,被配置为通过所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的条件变量在同步语句块中调用等待函数,将所述预先创建的工作线程中的工作状态为唤醒状态的工作线程的工作状态调整为休眠状态。
25.根据权利要求15-24中任意一项权利要求所述的装置,其特征在于,所述装置还包括:
第二获取模块,被配置为获取所述工作任务的基础信息;
存储模块,被配置为基于所述工作任务的基础信息,将所述工作任务存储在阻塞队列中。
26.根据权利要求25所述的装置,其特征在于,所述装置还包括:
第三获取模块,被配置为通过所述用于工作任务并发执行的工作线程,依次从所述阻塞队列中获取所述工作任务,并且并发执行所述工作任务。
27.根据权利要求25所述的装置,其特征在于,所述基础信息包括工作任务的类型和大小。
28.根据权利要求15-27中任意一项权利要求所述的装置,其特征在于,所述工作任务包括下载任务。
29.一种设备/终端/服务器,包括:
一个或多个处理器;
存储装置,配置为存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-14中任意一项权利要求所述的任务执行的调控方法。
30.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-14中任意一项权利要求所述的任务执行的调控方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810869318.1A CN109189483A (zh) | 2018-08-02 | 2018-08-02 | 任务执行的调控方法、装置、设备/终端/服务器及存储介质 |
PCT/IB2018/056492 WO2020026010A2 (zh) | 2018-08-02 | 2018-08-27 | 任务执行的调控方法、装置、设备/终端/服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810869318.1A CN109189483A (zh) | 2018-08-02 | 2018-08-02 | 任务执行的调控方法、装置、设备/终端/服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109189483A true CN109189483A (zh) | 2019-01-11 |
Family
ID=64920505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810869318.1A Pending CN109189483A (zh) | 2018-08-02 | 2018-08-02 | 任务执行的调控方法、装置、设备/终端/服务器及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109189483A (zh) |
WO (1) | WO2020026010A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611066A (zh) * | 2020-06-30 | 2020-09-01 | 平安银行股份有限公司 | 任务执行方法、任务执行服务器和存储介质 |
CN112559160A (zh) * | 2021-02-19 | 2021-03-26 | 智道网联科技(北京)有限公司 | 地图引擎多线程的控制方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225669B (zh) * | 2023-05-08 | 2024-01-09 | 之江实验室 | 一种任务执行方法、装置、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209701B1 (en) * | 2007-09-27 | 2012-06-26 | Emc Corporation | Task management using multiple processing threads |
CN104156261A (zh) * | 2014-08-11 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 多控制器之间任务处理的方法和装置 |
CN106257425A (zh) * | 2016-07-20 | 2016-12-28 | 东南大学 | 一种基于并发控制流图的Java并发程序路径剖析方法 |
US9563474B2 (en) * | 2013-06-13 | 2017-02-07 | Wipro Limited | Methods for managing threads within an application and devices thereof |
CN106547612A (zh) * | 2016-10-18 | 2017-03-29 | 深圳怡化电脑股份有限公司 | 一种多任务处理方法及装置 |
CN106790525A (zh) * | 2016-12-20 | 2017-05-31 | 广东小天才科技有限公司 | 一种文件下载方法及装置 |
CN107463439A (zh) * | 2017-08-21 | 2017-12-12 | 山东浪潮通软信息科技有限公司 | 一种线程池实现方法及装置 |
-
2018
- 2018-08-02 CN CN201810869318.1A patent/CN109189483A/zh active Pending
- 2018-08-27 WO PCT/IB2018/056492 patent/WO2020026010A2/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209701B1 (en) * | 2007-09-27 | 2012-06-26 | Emc Corporation | Task management using multiple processing threads |
US9563474B2 (en) * | 2013-06-13 | 2017-02-07 | Wipro Limited | Methods for managing threads within an application and devices thereof |
CN104156261A (zh) * | 2014-08-11 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 多控制器之间任务处理的方法和装置 |
CN106257425A (zh) * | 2016-07-20 | 2016-12-28 | 东南大学 | 一种基于并发控制流图的Java并发程序路径剖析方法 |
CN106547612A (zh) * | 2016-10-18 | 2017-03-29 | 深圳怡化电脑股份有限公司 | 一种多任务处理方法及装置 |
CN106790525A (zh) * | 2016-12-20 | 2017-05-31 | 广东小天才科技有限公司 | 一种文件下载方法及装置 |
CN107463439A (zh) * | 2017-08-21 | 2017-12-12 | 山东浪潮通软信息科技有限公司 | 一种线程池实现方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611066A (zh) * | 2020-06-30 | 2020-09-01 | 平安银行股份有限公司 | 任务执行方法、任务执行服务器和存储介质 |
CN112559160A (zh) * | 2021-02-19 | 2021-03-26 | 智道网联科技(北京)有限公司 | 地图引擎多线程的控制方法及装置 |
CN112559160B (zh) * | 2021-02-19 | 2021-06-04 | 智道网联科技(北京)有限公司 | 地图引擎多线程的控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020026010A2 (zh) | 2020-02-06 |
WO2020026010A3 (zh) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984282B (zh) | 具有闭环性能控制器的amp体系结构的调度器 | |
Yang et al. | A framework for partitioning and execution of data stream applications in mobile cloud computing | |
CN111406250B (zh) | 无服务器计算环境中的使用经预取的数据的配设 | |
US20230179538A1 (en) | Systems and methods for provision of a guaranteed batch | |
US9841998B2 (en) | Processor power optimization with response time assurance | |
Van den Bossche et al. | Cost-efficient scheduling heuristics for deadline constrained workloads on hybrid clouds | |
Van den Bossche et al. | Online cost-efficient scheduling of deadline-constrained workloads on hybrid clouds | |
US20170139752A1 (en) | Scheduling homogeneous and heterogeneous workloads with runtime elasticity in a parallel processing environment | |
US9973512B2 (en) | Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time | |
US20150277987A1 (en) | Resource allocation in job scheduling environment | |
CN109308214A (zh) | 数据任务处理方法和*** | |
CN107343045A (zh) | 云计算***及用于控制服务器的云计算方法和装置 | |
CN109189483A (zh) | 任务执行的调控方法、装置、设备/终端/服务器及存储介质 | |
US9983907B2 (en) | Resource-aware backfill job scheduling | |
US10037225B2 (en) | Method and system for scheduling computing | |
US9372725B2 (en) | Dynamically adjusting wait periods according to system performance | |
US20160197848A1 (en) | Content distribution resource allocation | |
US20200379804A1 (en) | Multi-level scheduling | |
Convolbo et al. | DRASH: A data replication-aware scheduler in geo-distributed data centers | |
CN114490048A (zh) | 任务执行方法、装置、电子设备及计算机存储介质 | |
US20100269119A1 (en) | Event-based dynamic resource provisioning | |
TWI539273B (zh) | 用於減少電力消耗之並行網路應用程式排程技術 | |
CN115373860B (zh) | Gpu任务的调度方法、装置、设备和存储介质 | |
CA3070404C (en) | Method to set up and tear down cloud environments based on a schedule obtained from one or more hosted calendars | |
CN114265692A (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: 20190111 |