待执行任务的执行方法、装置、存储介质及电子装置与流程

文档序号:34813275发布日期:2023-07-19 15:20阅读:60来源:国知局
待执行任务的执行方法、装置、存储介质及电子装置与流程

本申请涉及智慧家庭,具体而言,涉及一种待执行任务的执行方法、装置、存储介质及电子装置。


背景技术:

1、目前,在基于嵌入式操作系统的软件栈设计思想中,线程操作往往具有繁琐的步骤,导致实现过程复杂,例如需要内存申请和释放,线程堆栈的分配和删除,线程描述数据的创建和删除,cpu执行权限切换等多重步骤,这会消耗一定的计算资源和时间的开销。因此,对于有多个不需要持续运行的任务处理应用场景,多采用线程池的方式,即预先创建一定数量的线程并通过某种共享机制实现多任务共享有限的线程。

2、然而,目前实现的线程池,基本都是通过依赖于线程管理模块来提供线程池内的线程管理功能,进而使用线程执行任务。但是,这种实现过程依赖于线程管理模块,实现逻辑复杂,占用系统存储空间较大,在运行时需要极大的系统内存等资源,在资源受限的运行环境下,由于没有足够的系统资源,线程管理模块往往不能正常工作或者工作受限,无法及时执行任务。

3、因此,相关技术中,具有在资源受限的运行环境下如何执行任务的技术问题。

4、针对相关技术中,在资源受限的运行环境下如何执行任务的技术问题,尚未提出有效的解决方案。


技术实现思路

1、本申请实施例提供了一种待执行任务的执行方法、装置、存储介质及电子装置,以至少解决相关技术中,在资源受限的运行环境下如何执行任务的技术问题。

2、根据本申请实施例的一个实施例,提供了一种待执行任务的执行方法,包括:响应于目标对象的执行指令,从线程池内确定已创建的多个线程;根据任务队列中所有待执行任务的任务数量确定出所述任务队列的计数信号量,其中,所述计数信号量的计数值与所述任务数量相等;在确定所述计数信号量的计数值大于第一预设阈值的情况下,使用所述多个线程执行所述待执行任务。

3、在一个示例性实施例中,在根据任务队列中所有的待执行任务的任务数量确定出所述任务队列对应的计数信号量之前,所述方法还包括:获取所述目标对象的操作指令的操作类型;在确定所述操作类型用于指示新增任务的情况下,在所述任务队列中创建与所述操作指令对应的第一待执行任务;在确定所述操作类型用于指示删除任务的情况下,在所述任务队列中删除与所述操作指令对应的第二待执行任务。

4、在一个示例性实施例中,在所述任务队列中创建与所述操作指令对应的第一待执行任务,包括:在确定所述第一待执行任务为周期性执行任务的情况下,获取所述第一待执行任务的执行周期和执行次数;控制定时器按照所述执行周期在所述任务队列中循环创建所述第一待执行任务。

5、在一个示例性实施例中,通过以下方式确定所述计数信号量的计数值:根据所述第一待执行任务的循环创建的次数确定出所述第一待执行任务的新建任务数量,并将所述新建任务数量确定为所述计数值的增加值;将第一计数值和所述增加值的和值更新为所述计数值,其中,所述第一计数值与所述任务数量一致。

6、在一个示例性实施例中,在所述任务队列中创建与所述操作指令对应的第一待执行任务,包括:在确定所述第一待执行任务为临时性执行任务的情况下,在所述任务队列中创建所述第一待执行任务,其中,所述第一待执行任务对应最低执行优先级;通过以下方式确定所述计数信号量的计数值,包括:根据所述第一待执行任务的创建次数确定所述第一待执行任务的新建任务数量,并将所述新建任务数量确定为所述计数值的增加值;将第二计数值和所述增加值的和值更新为所述计数值,其中,所述第二计数值与所述任务数量一致。

7、在一个示例性实施例中,在所述任务队列中删除与所述操作指令对应的第二待执行任务,包括:在确定所述第二待执行任务为周期性执行任务的情况下,确定出循环创建所述第二待执行任务时用到的定时器,以及所述定时器的第一存储地址;获取所述第二待执行任务的执行入口地址,其中,所述执行入口地址用于表示所述任务队列的第二待执行任务的第二存储地址;在确定所述第一存储地址和所述第二存储地址一致的情况下,删除所述定时器,同时获取所述任务队列内下一个待执行任务的执行入口地址;在确定所述下一个待执行任务的执行入口地址与所述第一存储地址一致的情况下,在所述任务队列中删除与所述操作指令对应的第二待执行任务。

8、在一个示例性实施例中,在所述任务队列中删除与所述操作指令对应的第二待执行任务,包括:在确定所述第二待执行任务为临时性执行任务的情况下,获取在创建所述第二待执行任务之后所存储的所述第二待执行任务的第三存储地址;从所述操作指令中获取所述第二待执行任务的执行入口地址,其中,所述执行入口地址用于表示所述任务队列的第二待执行任务的第四存储地址;在确定所述第三存储地址和所述第四存储地址一致的情况下,在所述任务队列中删除与所述操作指令对应的第二待执行任务。

9、在一个示例性实施例中,在确定所述操作指令的操作类型之后,所述方法还包括:确定所述计数信号量的计数值是否大于第二预设阈值,其中,所述第二预设阈值大于所述第一预设阈值,用于表示所述待执行任务的最大任务数量;在确定所述计数值大于所述第二预设阈值的情况下,禁止在所述任务队列中创建与所述操作指令对应的第一待执行任务。

10、根据本申请实施例的另一个实施例,还提供了一种待执行任务的执行装置,包括:响应模块,用于响应于目标对象的执行指令,从线程池内确定已创建的多个线程;确定模块,用于根据任务队列中所有待执行任务的任务数量确定出所述任务队列的计数信号量,其中,所述计数信号量的计数值与所述任务数量相等;执行模块,用于在确定所述计数信号量的计数值大于第一预设阈值的情况下,使用所述多个线程执行所述待执行任务。

11、根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述待执行任务的执行方法。

12、根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的待执行任务的执行方法。

13、在本申请实施例中,响应于目标对象的执行指令,从线程池内确定已创建的多个线程;根据任务队列中所有待执行任务的任务数量确定出具有与所述任务数量相等的所述任务队列的计数信号量;在确定所述计数信号量的计数值大于第一预设阈值的情况下,使用所述多个线程执行所述待执行任务;采用上述技术方案,解决了在资源受限的运行环境下如何执行任务的技术问题,进而实现在资源受限的运行环境下执行任务。



技术特征:

1.一种待执行任务的执行方法,其特征在于,包括:

2.根据权利要求1所述的待执行任务的执行方法,其特征在于,在根据任务队列中所有的待执行任务的任务数量确定出所述任务队列对应的计数信号量之前,所述方法还包括:

3.根据权利要求2所述的待执行任务的执行方法,其特征在于,在所述任务队列中创建与所述操作指令对应的第一待执行任务,包括:

4.根据权利要求3所述的待执行任务的执行方法,其特征在于,通过以下方式确定所述计数信号量的计数值:

5.根据权利要求2所述的待执行任务的执行方法,其特征在于,在所述任务队列中创建与所述操作指令对应的第一待执行任务,包括:

6.根据权利要求2所述的待执行任务的执行方法,其特征在于,在所述任务队列中删除与所述操作指令对应的第二待执行任务,包括:

7.根据权利要求2所述的待执行任务的执行方法,其特征在于,在所述任务队列中删除与所述操作指令对应的第二待执行任务,包括:

8.根据权利要求2所述的待执行任务的执行方法,其特征在于,在确定所述操作指令的操作类型之后,所述方法还包括:

9.一种待执行任务的执行装置,其特征在于,包括:

10.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。

11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。


技术总结
本申请公开了一种待执行任务的执行方法、装置、存储介质及电子装置,涉及智慧家庭技术领域,该待执行任务的执行方法包括:响应于目标对象的执行指令,从线程池内确定已创建的多个线程;根据任务队列中所有待执行任务的任务数量确定出所述任务队列的计数信号量,其中,所述计数信号量的计数值与所述任务数量相等;在确定所述计数信号量的计数值大于第一预设阈值的情况下,使用所述多个线程执行所述待执行任务,采用上述技术方案,解决了在资源受限的运行环境下如何执行任务的技术问题。

技术研发人员:薛雄伟
受保护的技术使用者:青岛海尔科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1