The embodiment of this application provides a control method, device, device/terminal/server and computer readable storage medium for task execution, which relates to the field of task regulation. Among them, the control method of task execution includes: obtaining the number of worker threads for concurrent execution of work tasks; determining the worker threads for concurrent execution of work tasks based on the number of worker threads for concurrent execution of work tasks and conditional variables of pre-created worker threads. Through the embodiment of this application, the number of worker threads used for concurrent execution of work tasks can be dynamically regulated without creating additional worker threads frequently, thereby realizing the dynamic adjustment of the number of concurrent tasks, thereby improving the efficiency of concurrent execution of work tasks.
【技术实现步骤摘要】
任务执行的调控方法、装置、设备/终端/服务器及存储介质
本申请实施例涉及任务调控领域,尤其涉及一种任务执行的调控方法、装置、设备/终端/服务器及计算机可读存储介质。
技术介绍
现在市场上提供下载功能的客户端的都会有属于自己的下载任务管理功能,而在实际的下载任务管理场景当中往往是需要做到下载任务的个数是可以动态设置的,这样就可以控制下载任务的并发下载数量。了解到目前大多数控制下载任务的并发下载数量的技术实现方案是需要监听下载任务是否完成的状态,然后再去轮询下载任务存储队列确定是否还有待执行的下载任务。如果下载任务存储队列中还有待执行的下载任务,就再重新创建任务线程去执行下载任务。这样,目前的技术实现方案存在以下缺陷:一个是需要实时地监听下载任务的完成状态,另一个是需要频繁地创建额外的工作线程去执行下载任务。
技术实现思路
有鉴于此,本申请实施例所解决的技术问题之一在于提供一种任务执行的调控的方案,以解决现有技术中存在的在调整并发执行的工作任务的数量时产生的频繁创建额外的工作线程的问题。本申请实施例提供了一种任务执行的调控方法,所述方法包括:获取用于工作任务并发执行的工作 ...
【技术保护点】
1.一种任务执行的调控方法,其特征在于,所述方法包括:获取用于工作任务并发执行的工作线程的数量;基于所述用于工作任务并发执行的工作线程的数量和预先创建的工作线程的条件变量,确定用于工作任务并发执行的工作线程。
【技术特征摘要】
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中任意一项权利要求所述的方...
【专利技术属性】
技术研发人员:张志毅,
申请(专利权)人:优视科技新加坡有限公司,
类型:发明
国别省市:新加坡,SG
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。