System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及任务抢占领域,具体而言,涉及一种任务执行方法、装置、计算机可读存储介质、处理器及任务处理设备。
技术介绍
1、目前针对任务的执行,一般都是按照任务的优先级提前设置好任务执行的顺序,然后按照任务执行流程进行执行,即使有新的优先级更高的任务需要执行也无法抢占正在执行任务的线程。
技术实现思路
1、本申请的主要目的在于提供一种任务执行方法、装置、计算机可读存储介质、处理器及任务处理设备,以解决现有技术中即使有新的优先级更高的任务需要执行也无法抢占正在执行任务的线程的问题。
2、为了实现上述目的,根据本申请的一个方面,提供了一种任务执行方法,该方法包括:基于抢占信息控制预设用户线程暂停执行预设任务,所述抢占信息用于表征所述预设用户线程将要被目标任务抢占,所述目标任务的优先级高于所述预设任务的优先级;根据所述抢占信息调整回调函数,得到调整后的回调函数;根据所述调整后的回调函数控制所述预设用户线程执行所述目标任务。
3、可选地,所述回调函数包括上下文信息,所述方法还包括:存储所述预设任务的上下文信息,所述预设任务的上下文信息包括所述预设任务的寄存器信息和执行状态信息。
4、可选地,所述方法还包括:在所述目标任务执行结束后,根据所述预设任务的上下文信息,控制所述预设用户线程继续执行所述预设任务。
5、可选地,所述寄存器信息包括以下至少之一:ip(instruction pointer,指令指针)寄存器信息、sp(stack pointer
6、可选地,在所述预设用户线程执行所述目标任务的过程中,所述方法还包括:在检测到新增任务的情况下,获取所述新增任务、所述目标任务和所述预设任务的优先级顺序;根据所述优先级顺序确定所述预设用户线程执行所述新增任务、所述目标任务和所述预设任务的顺序。
7、可选地,根据所述优先级顺序确定所述预设用户线程执行所述新增任务、所述目标任务和所述预设任务的顺序,包括:所述新增任务的优先级高于所述目标任务的优先级的情况下,控制所述预设用户线程暂停执行所述目标任务,且在暂停执行所述目标任务后开始执行所述新增任务;在所述预设用户线程执行完所述新增任务后,继续执行所述目标任务,执行完所述目标任务后继续执行所述预设任务。
8、可选地,所述回调函数中还包括目标任务的上下文信息,所述目标任务的上下文信息是在控制所述预设用户线程暂停执行所述目标任务后存储的;在所述预设用户线程执行完所述新增任务后,开始继续执行所述目标任务,执行完所述目标任务后开始继续执行所述预设任务,包括:在所述预设用户线程执行完所述新增任务后,根据所述目标任务的上下文信息开始继续执行所述目标任务;执行完所述目标任务后,根据所述预设任务的上下文信息开始继续执行所述预设任务。
9、可选地,在所述预设用户线程执行所述目标任务的过程中,所述方法还包括:有新增任务需要被执行并且所述新增任务的优先级低于所述目标任务的优先级且高于所述预设任务的优先级的情况下,控制所述预设用户线程继续执行所述目标任务,在执行完所述目标任务后,开始执行所述新增任务;在所述预设用户线程执行完所述新增任务后,继续执行所述预设任务。
10、可选地,所述方法还包括:在同一时刻的所述目标任务有多个,可被抢占的所述预设用户线程仅有一条的情况下,获取多个所述目标任务的优先级;根据多个所述目标任务的优先级,确定所述预设用户线程执行多个所述目标任务的顺序。
11、可选地,所述方法还包括:在同一时刻的所述目标任务有多个,可被抢占的所述预设用户线程有多条,且所述目标任务的个数与所述预设用户线程的条数相同的,控制一条所述预设用户线程执行一个所述目标任务。
12、可选地,所述方法还包括:在同一时刻的所述目标任务有多个,可被抢占的所述预设用户线程有多条,且所述目标任务的个数大于所述预设用户线程的条数的情况下,获取多个所述目标任务的优先级;根据多个所述目标任务的优先级,按照优先级从高到低的顺序从多个所述目标任务中选取出第一预设数量个所述目标任务,且控制选取出的所述目标任务在所述预设用户线程上执行,所述第一预设数量等于所述预设用户线程的条数。
13、可选地,所述方法还包括:在同一时刻的所述目标任务有多个,可被抢占的所述预设用户线程有多条,且所述目标任务的个数小于所述预设用户线程的条数的情况下,获取多个所述预设任务的优先级;按照优先级从低到高的顺序从多个所述预设用户线程中选取出第二预设数量个所述预设用户线程,且控制多个所述目标任务在选取出的所述预设用户线程上执行,所述第二预设数量等于所述目标任务的个数。
14、可选地,多个所述预设用户线程并行执行所述目标任务。
15、可选地,所述预设用户线程包括文本区域、数据区域和堆栈。
16、根据本申请的另一方面,提供了一种任务执行方法,该方法包括:用户层基于抢占信息控制预设用户线程暂停执行预设任务,所述抢占信息用于表征所述预设用户线程将要被目标任务抢占,所述目标任务的优先级高于所述预设任务的优先级;所述用户层根据所述抢占信息调整回调函数,得到调整后的回调函数,所述回调函数包括上下文信息;所述用户层根据所述调整后的回调函数控制所述预设用户线程执行所述目标任务。
17、可选地,所述方法还包括:所述用户层在所述目标任务执行结束后,根据所述预设任务的上下文信息,控制所述预设用户线程继续执行所述预设任务,所述预设任务的上下文信息包括所述预设任务的寄存器信息和执行状态信息。
18、根据本申请的又一方面,提供了一种任务执行装置,该装置包括第一控制单元、调整单元以及第二控制单元,其中,所述第一控制单元用于基于抢占信息控制预设用户线程暂停执行预设任务,所述抢占信息用于表征所述预设用户线程将要被目标任务抢占,所述目标任务的优先级高于所述预设任务的优先级;所述调整单元用于根据所述抢占信息调整回调函数,得到调整后的回调函数;所述第二控制单元用于根据所述调整后的回调函数控制所述预设用户线程执行所述目标任务。
19、根据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的方法。
20、根据本申请的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
21、根据本申请的又一方面,提供了一种任务处理设备,包括一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
22、应用本申请的技术方案,在本申请的任务执行方法中,首先,在目标任务的优先级高于预设任务的情况下,基于表征预设用户线程将要被目标任务抢占的抢占信息本文档来自技高网...
【技术保护点】
1.一种任务执行方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述回调函数包括上下文信息,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述寄存器信息包括以下至少之一:
5.根据权利要求1所述的方法,其特征在于,在所述预设用户线程执行所述目标任务的过程中,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,根据所述优先级顺序确定所述预设用户线程执行所述新增任务、所述目标任务和所述预设任务的顺序,包括:
7.根据权利要求6所述的方法,其特征在于,所述回调函数中还包括目标任务的上下文信息,所述目标任务的上下文信息是在控制所述预设用户线程暂停执行所述目标任务后存储的;在所述预设用户线程执行完所述新增任务后,开始继续执行所述目标任务,执行完所述目标任务后开始继续执行所述预设任务,包括:
8.根据权利要求5所述的方法,其特征在于,在所述预设用户线程执行所述目标任务的过程中,所述方法还包括:
9
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
12.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
13.根据权利要求12所述的方法,其特征在于,多个所述预设用户线程并行执行所述目标任务。
14.根据权利要求1至8中任一项所述的方法,其特征在于,所述预设用户线程包括文本区域、数据区域和堆栈。
15.一种任务执行方法,其特征在于,包括:
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
17.一种任务执行装置,其特征在于,包括:
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至14中任意一项所述的方法。
19.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至14中任意一项所述的方法。
20.一种任务处理设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至14中任意一项所述的方法。
...【技术特征摘要】
1.一种任务执行方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述回调函数包括上下文信息,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述寄存器信息包括以下至少之一:
5.根据权利要求1所述的方法,其特征在于,在所述预设用户线程执行所述目标任务的过程中,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,根据所述优先级顺序确定所述预设用户线程执行所述新增任务、所述目标任务和所述预设任务的顺序,包括:
7.根据权利要求6所述的方法,其特征在于,所述回调函数中还包括目标任务的上下文信息,所述目标任务的上下文信息是在控制所述预设用户线程暂停执行所述目标任务后存储的;在所述预设用户线程执行完所述新增任务后,开始继续执行所述目标任务,执行完所述目标任务后开始继续执行所述预设任务,包括:
8.根据权利要求5所述的方法,其特征在于,在所述预设用户线程执行所述目标任务的过程中,所述方法还包括:
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
【专利技术属性】
技术研发人员:潘科,杨晨光,
申请(专利权)人:苏州挚途科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。