线程调度方法、系统以及介质技术方案

技术编号:38334678 阅读:13 留言:0更新日期:2023-08-02 09:15
本申请公开了一种线程调度方法、系统以及介质,该方法通过获取当前周期内优先级值为M的第一任务线程的第一执行结果,将第一执行结果与上一周期的第二执行结果进行比对;将第一处理线程对应的休眠时间按预设比例增加,并将第一处理线程对应的第一累计值加1,循环执行以下步骤,直到第一处理线程的当前优先级值达到:将第二处理线程对应的第二步进值减去第一处理线程对应的第一步进值得到步进差值;将第二处理线程对应的休眠时间按预设比例增加,并将第二处理线程对应的第二累计值加1,以及将第一累计值清零;将第一处理线程更新为对应于其当前优先级值递增1后的任务线程。实现了通过对线程的CPU资源分配进行自适应调整。通过对线程的CPU资源分配进行自适应调整。通过对线程的CPU资源分配进行自适应调整。

【技术实现步骤摘要】
线程调度方法、系统以及介质


[0001]本申请涉及计算机
,具体而言,涉及一种线程调度方法、系统以及介质。

技术介绍

[0002]线程调度是指根据线程优先级分配CPU资源,保证高优先级任务优先执行,对于智能采集终端,采集数据的效率是需要优先提升的指标。目前对于智能采集终端的多线程调度主要有以下几种方式:一是对于不同线程按照默认优先级配置,线程执行过程中设置固定的休眠时间,不同线程休眠时间不同,优先级越高休眠时间越短,另一种是使用操作系统的线程优先级配置功能,为每个线程设置不同的优先级,可以对线程执行优先级进行控制。
[0003]然而,前者调整休眠时间的方式无法适应于实际情况确定其最优值,而后者直接对线程优先级进行固定配置难以将数据采集效率最大化。
[0004]针对上述问题,目前亟待有效的技术解决方案。

技术实现思路

[0005]本申请的目的在于提供一种线程调度方法、系统以及介质,实现了通过对线程的CPU资源分配进行自适应调整,灵活调整休眠时间,提高数据采集的完整性以及高效性,提升智能采集终端的整体性能。
[0006]第一方面,本申请提供了一种线程调度方法,应用于采集终端,所述采集终端的多个任务线程划分到M个优先级,其中,所述多个任务线程对应的优先级值,按照优先次序依次从1递增至M,所述线程调度方法包括:在自适应调整休眠时间的过程的预设周期时长到达时,获取当前周期内优先级值为M的第一任务线程的第一执行结果,将所述第一执行结果与上一周期内优先级值为M的第一任务线程的第二执行结果进行比对,所述第一任务线程用于执行数据采集任务;响应于所述第一执行结果的数据采集成功值大于所述第二执行结果的比对结果,将优先级值为1的任务线程确定为第一处理线程后,将所述第一处理线程对应的休眠时间按预设比例增加,并将所述第一处理线程对应的第一累计值加1,循环执行以下步骤,直到所述第一处理线程的当前优先级值达到,其中数据采集成功值表征所述第一任务线程在一个周期内数据采集对应的数据反馈对象的个数:将第二处理线程对应的第二步进值减去第一处理线程对应的第一步进值得到步进差值,其中所述第二处理线程的优先级值相比于所述第一处理线程的当前优先级值递增1,所述步进差值为触发所述第二处理线程的休眠时间调整的参考阈值;在所述第一累计值大于所述步进差值的情况下,将所述第二处理线程对应的休眠时间按所述预设比例增加,并将所述第二处理线程对应的第二累计值加1,以及将所述第一累计值清零;将所述第一处理线程更新为对应于其当前优先级值递增1后的任务线程。
[0007]可选的,在所述将所述第一执行结果与上一周期内优先级值为M的第一任务线程
的第二执行结果进行比对,所述第一任务线程用于执行数据采集任务之后,还包括:响应于所述第一执行结果的数据采集量等于所述第二执行结果的比对结果,将每个任务线程当前的休眠时间作为目标休眠时间,并结束自适应调整休眠时间的过程。
[0008]可选的,在所述将所述第一执行结果与上一周期内优先级值为M的第一任务线程的第二执行结果进行比对,所述第一任务线程用于执行数据采集任务之后,还包括:响应于所述第一执行结果的数据采集量小于所述第二执行结果的比对结果,输出预警信息。
[0009]可选的,在将所述第一处理线程更新为对应于其当前优先级值递增1后的任务线程之前,还包括:在所述第一累计值小于或等于所述步进差值的情况下,结束循环过程。
[0010]可选的,在自适应调整休眠时间的过程的预设周期时长到达时,获取当前周期内优先级值为M的第一任务线程的第一执行结果之前,还包括:接收并更新预设周期时长。
[0011]可选的,在自适应调整休眠时间的过程的预设周期时长到达时,获取当前周期内优先级值为M的第一任务线程的第一执行结果之前,还包括:接收并更新每个所述任务线程对应的步进值。
[0012]可选的,在自适应调整休眠时间的过程的预设周期时长到达时,获取当前周期内优先级值为M的第一任务线程的第一执行结果之前,还包括:接收并更新每个所述任务线程对应的休眠时间。
[0013]可选的,在自适应调整休眠时间的过程的预设周期时长到达时,获取当前周期内优先级值为M的第一任务线程的第一执行结果之前,还包括:接收并更新每个所述任务线程对应的优先级值。
[0014]第二方面,本申请提供了一种线程调度系统,所述线程调度系统包括:存储器及处理器,所述存储器中包括线程调度方法的程序,所述线程调度方法的程序被所述处理器执行时实现以下步骤:在自适应调整休眠时间的过程的预设周期时长到达时,获取当前周期内优先级值为M的第一任务线程的第一执行结果,将所述第一执行结果与上一周期内优先级值为M的第一任务线程的第二执行结果进行比对,所述第一任务线程用于执行数据采集任务;响应于所述第一执行结果的数据采集成功值大于所述第二执行结果的比对结果,将优先级值为1的任务线程确定为第一处理线程后,将所述第一处理线程对应的休眠时间按预设比例增加,并将所述第一处理线程对应的第一累计值加1,循环执行以下步骤,直到所述第一处理线程的当前优先级值达到,其中数据采集成功值表征所述第一任务线程在一个周期内数据采集对应的数据反馈对象的个数:将第二处理线程对应的第二步进值减去第一处理线程对应的第一步进值得到步进差值,其中所述第二处理线程的优先级值相比于所述第一处理线程的当前优先级值递增1,所述步进差值为触发所述第二处理线程的休眠时间调整的参考阈值;在所述第一累计值大于所述步进差值的情况下,将所述第二处理线程对应的休眠时间按所述预设比例增加,并将所述第二处理线程对应的第二累计值加1,以及将所述第一累计值清零;
将所述第一处理线程更新为对应于其当前优先级值递增1后的任务线程。
[0015]第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中包括线程调度方法程序,所述线程调度方法程序被处理器执行时,实现如本申请中任一实施例所述的线程调度方法的步骤。
[0016]由上可知,本申请提供的线程调度方法、系统以及介质,通过在自适应调整休眠时间的过程的预设周期时长到达时,获取当前周期内优先级值为M的第一任务线程的第一执行结果,将所述第一执行结果与上一周期内优先级值为M的第一任务线程的第二执行结果进行比对,所述第一任务线程用于执行数据采集任务;响应于所述第一执行结果的数据采集成功值大于所述第二执行结果的比对结果,将优先级值为1的任务线程确定为第一处理线程后,将所述第一处理线程对应的休眠时间按预设比例增加,并将所述第一处理线程对应的第一累计值加1,循环执行以下步骤,直到所述第一处理线程的当前优先级值达到,其中数据采集成功值表征所述第一任务线程在一个周期内数据采集对应的数据反馈对象的个数:将第二处理线程对应的第二步进值减去第一处理线程对应的第一步进值得到步进差值,其中所述第二处理线程的优先级值相比于所述第一处理线程的当前优先级值递增1,所述步进差值为触发所述第二处理线程的休眠时间调整的参考阈值;在所述第一累计值大于所述步进差值的情况下,将所述第二处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种线程调度方法,应用于采集终端,其特征在于,所述采集终端的多个任务线程划分到M个优先级,其中,所述多个任务线程对应的优先级值,按照优先次序依次从1递增至M,所述线程调度方法包括:在自适应调整休眠时间的过程的预设周期时长到达时,获取当前周期内优先级值为M的第一任务线程的第一执行结果,将所述第一执行结果与上一周期内优先级值为M的第一任务线程的第二执行结果进行比对,所述第一任务线程用于执行数据采集任务;响应于所述第一执行结果的数据采集成功值大于所述第二执行结果的比对结果,将优先级值为1的任务线程确定为第一处理线程后,将所述第一处理线程对应的休眠时间按预设比例增加,并将所述第一处理线程对应的第一累计值加1,循环执行以下步骤,直到所述第一处理线程的当前优先级值达到,其中数据采集成功值表征所述第一任务线程在一个周期内数据采集对应的数据反馈对象的个数:将第二处理线程对应的第二步进值减去第一处理线程对应的第一步进值得到步进差值,其中所述第二处理线程的优先级值相比于所述第一处理线程的当前优先级值递增1,所述步进差值为触发所述第二处理线程的休眠时间调整的参考阈值;在所述第一累计值大于所述步进差值的情况下,将所述第二处理线程对应的休眠时间按所述预设比例增加,并将所述第二处理线程对应的第二累计值加1,以及将所述第一累计值清零;将所述第一处理线程更新为对应于其当前优先级值递增1后的任务线程。2.根据权利要求1所述的线程调度方法,其特征在于,在所述将所述第一执行结果与上一周期内优先级值为M的第一任务线程的第二执行结果进行比对,所述第一任务线程用于执行数据采集任务之后,还包括:响应于所述第一执行结果的数据采集量等于所述第二执行结果的比对结果,将每个任务线程当前的休眠时间作为目标休眠时间,并结束自适应调整休眠时间的过程。3.根据权利要求1所述的线程调度方法,其特征在于,在所述将所述第一执行结果与上一周期内优先级值为M的第一任务线程的第二执行结果进行比对,所述第一任务线程用于执行数据采集任务之后,还包括:响应于所述第一执行结果的数据采集量小于所述第二执行结果的比对结果,输出预警信息。4.根据权利要求1所述的线程调度方法,其特征在于,在将所述第一处理线程更新为对应于其当前优先级值递增1后的任务线程之前,还包括:在所述第一累计值小于或等于所述步进差值的情况下,结束循环过程。5.根据权利要求1所述的线程调度方法,其特征在于,在自适应调整休眠时间的过程的预设周期时长到达时,获取当...

【专利技术属性】
技术研发人员:马小辉柳阳刘峥嵘陈飞虎李冬唐志成杜芬尹莉燕杨丹丁嘉禾
申请(专利权)人:杭州炬华科技股份有限公司
类型:发明
国别省市:

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

1