System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于argobots的优先级任务队列实现方法技术_技高网

一种基于argobots的优先级任务队列实现方法技术

技术编号:40485031 阅读:8 留言:0更新日期:2024-02-26 19:17
本发明专利技术涉及一种基于argobots的优先级任务队列实现方法。本方法包括:基于argobots的协程架构创建多优先级任务队列,并按照优先级规则进行新任务的插入;按照多优先级任务队列调度执行规则调度和执行多优先级任务队列中的任务。本发明专利技术基于argobots的优先级任务队列实现方法解决了argobots不支持任务优先级,导致某些紧急任务不能被优先执行的问题,本方法提供了更丰富的协程调度策略,可用于多优先级任务队列的创建、调度和执行,可显著提高任务执行的效率。

【技术实现步骤摘要】

本专利技术属于优先级任务队列实现方法,尤其涉及一种基于argobots的优先级任务队列实现方法


技术介绍

1、如图1所示,在开源的argobots中,任务(task/ult)均存在于abt_pool中,其调度顺序是fifo(先进先出),保证了任务的公平性;但是,由于argobots中没有提供任务优先级,导致某些紧急任务不能被优先执行,从而影响了任务执行的效率。


技术实现思路

1、为了解决argobots不支持任务优先级,导致某些紧急任务不能被优先执行的问题,本专利技术提出了一种新的基于argobots的优先级任务队列实现方法,本专利技术方法提供了更丰富的协程调度策略,可用于多优先级任务队列的创建、调度和执行。

2、具体地,本专利技术提供了一种基于argobots的优先级任务队列实现方法,本方法包括:

3、s1.基于argobots的协程架构创建多优先级任务队列,并按照优先级规则进行新任务的插入;

4、s2.按照多优先级任务队列调度执行规则调度和执行多优先级任务队列中的任务。

5、进一步地,本专利技术基于argobots的优先级任务队列实现方法步骤s1中所述的基于argobots的协程架构创建多优先级任务队列,并按照优先级规则进行新任务的插入,包括:

6、s11.在一个pool中,创建多种优先级别的任务队列;

7、s12.修改argobots的协程任务创建接口,增加新创建任务的优先级参数;

8、s13.当插入新任务时,根据该新任务的优先级参数,将其插入到相应等级的优先级任务队列的队尾。

9、进一步地,本专利技术基于argobots的优先级任务队列实现方法步骤s11中所述的多种优先级别的任务队列包括高、中、低三种优先级别的任务队列。

10、进一步地,本专利技术基于argobots的优先级任务队列实现方法步骤s12中所述的新创建任务的优先级参数默认值为中等优先级。

11、进一步地,本专利技术基于argobots的优先级任务队列实现方法步骤s13中所述的新任务包括外部新任务和满足执行条件重新进入可执行状态的任务。

12、进一步地,本专利技术基于argobots的优先级任务队列实现方法步骤s2中所述的多优先级任务队列调度执行规则,包括:

13、s21.调度线程进行任务调度时,优先执行较高优先级任务队列中的任务;

14、s22.当较高优先级任务队列中的任务都执行完成后,才能执行较低优先级任务队列中的任务;

15、s23.调度线程在执行较低优先级任务的过程中,如果较高优先级任务队列中插入了新的任务,只有当前任务执行完成或发生切换的情况下,才能执行较高优先级的新任务,不允许进行任务抢占;

16、s24.如果有较高优先级的新任务插入,当前较低优先级任务执行完成或发生切换后,调度线程切换到较高优先级任务队列,待较高优先级任务队列中的任务执行完成后,再执行较低优先级任务队列中的任务。

17、另外,本专利技术还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述的基于argobots的优先级任务队列实现方法的步骤。

18、另一方面,本专利技术还提供了一种基于argobots的优先级任务队列实现系统,本系统包括:

19、任务队列创建模块:基于argobots的协程架构创建多优先级任务队列;

20、新任务插入模块:按照优先级规则进行新任务的插入;

21、任务队列调度模块:按照多优先级任务队列调度执行规则调度多优先级任务队列中的任务;

22、任务执行模块:按照多优先级任务队列调度执行规则执行任务;

23、各模块按照前述的基于argobots的优先级任务队列实现方法实施运行。

24、综上,本专利技术基于argobots的优先级任务队列实现方法解决了argobots不支持任务优先级,导致某些紧急任务不能被优先执行的问题,本方法提供了更丰富的协程调度策略,可用于多优先级任务队列的创建、调度和执行,可显著提高任务执行的效率。

本文档来自技高网...

【技术保护点】

1.一种基于argobots的优先级任务队列实现方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于argobots的优先级任务队列实现方法,其特征在于,步骤S1中所述的基于argobots的协程架构创建多优先级任务队列,并按照优先级规则进行新任务的插入,包括:

3.根据权利要求2所述的基于argobots的优先级任务队列实现方法,其特征在于,步骤S11中所述的多种优先级别的任务队列包括高、中、低三种优先级别的任务队列。

4.根据权利要求2所述的基于argobots的优先级任务队列实现方法,其特征在于,步骤S12中所述的新创建任务的优先级参数默认值为中等优先级。

5.根据权利要求2所述的基于argobots的优先级任务队列实现方法,其特征在于,步骤S13中所述的新任务包括外部新任务和满足执行条件重新进入可执行状态的任务。

6.根据权利要求1所述的基于argobots的优先级任务队列实现方法,其特征在于,步骤S2中所述的多优先级任务队列调度执行规则,包括:

7.一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现权利要求1-6任一项所述的基于argobots的优先级任务队列实现方法的步骤。

...

【技术特征摘要】

1.一种基于argobots的优先级任务队列实现方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于argobots的优先级任务队列实现方法,其特征在于,步骤s1中所述的基于argobots的协程架构创建多优先级任务队列,并按照优先级规则进行新任务的插入,包括:

3.根据权利要求2所述的基于argobots的优先级任务队列实现方法,其特征在于,步骤s11中所述的多种优先级别的任务队列包括高、中、低三种优先级别的任务队列。

4.根据权利要求2所述的基于argobots的优先级任务队列实现方法,其特征在于,步骤...

【专利技术属性】
技术研发人员:刘倩
申请(专利权)人:中电云计算技术有限公司
类型:发明
国别省市:

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

1