[发明专利]任务执行方法、装置、计算机可读介质及电子设备在审
申请号: | 202211094094.4 | 申请日: | 2022-09-08 |
公开(公告)号: | CN115562821A | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 张宏韬;陈熙 | 申请(专利权)人: | 深圳市正浩创新科技股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/448 |
代理公司: | 深圳市联鼎知识产权代理有限公司 44232 | 代理人: | 陈文君 |
地址: | 518000 广东省深圳市宝安区石岩*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 执行 方法 装置 计算机 可读 介质 电子设备 | ||
本申请公开了一种任务执行方法、装置、计算机可读介质及电子设备,所述方法包括:获取当前可调度的多个子任务中各子任务对应的需求栈空间;根据最大的需求栈空间创建共享栈空间,共享栈空间大于最大的需求栈空间;轮询多个子任务,从多个子任务中确定目标子任务;执行目标子任务;在目标子任务执行完毕后,释放目标子任务在共享栈空间中占用的存储空间,并返回轮询多个子任务,从多个子任务中确定目标子任务的步骤。本申请使得多个子任务的执行能够共享同一个栈空间,无需单独为每个子任务分配独立的栈空间,减少了任务执行过程中栈空间的占用,可以有效提高系统内存资源的利用率。
技术领域
本申请属于计算机技术领域,具体涉及一种任务执行方法、装置、计算机可读介质及电子设备。
背景技术
在当前的嵌入式操作系统中,系统中各个任务的运行是相互独立的,致使单片机的运行内存资源紧张,当任务较多时,无法分配足够的内存空间给新的任务。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种任务执行方法、装置、计算机可读介质及电子设备,以解决相关技术中的任务执行过程占用栈空间较多的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种任务执行方法,包括:
获取当前可调度的多个子任务中各所述子任务对应的需求栈空间;
根据最大的需求栈空间创建共享栈空间,所述共享栈空间大于所述最大的需求栈空间;
轮询所述多个子任务,从所述多个子任务中确定目标子任务;
执行所述目标子任务;
在所述目标子任务执行完毕后,释放所述目标子任务在所述共享栈空间中占用的存储空间,并返回所述轮询所述多个子任务,从所述多个子任务中确定目标子任务的步骤。
根据本申请实施例的一个方面,提供一种任务执行装置,包括:
需求栈空间获取模块,用于获取当前可调度的多个子任务中各所述子任务对应的需求栈空间;
共享栈空间创建模块,用于根据最大的需求栈空间创建共享栈空间,所述共享栈空间大于所述最大的需求栈空间;
目标子任务确定模块,用于轮询所述多个子任务,从所述多个子任务中确定目标子任务;
目标子任务执行模块,用于执行所述目标子任务;
栈空间释放模块,用于在所述目标子任务执行完毕后,释放所述目标子任务在所述共享栈空间中占用的存储空间。
在本申请的一个实施例中,目标子任务确定模块具体用于:
根据各个子任务的优先级排序,从所述多个子任务中获取优先级最高的子任务作为目标子任务。
在本申请的一个实施例中,目标子任务确定模块具体用于:
获取各所述子任务对应的运行间隔时长以及各所述子任务对应的运行周期;所述运行间隔时长为所述子任务对应的上一次执行时间与当前时间之间的时长;
根据各所述子任务对应的运行间隔时长以及各所述子任务对应的运行周期,从所述多个子任务中确定目标子任务;所述目标子任务对应的运行间隔时长大于所述目标子任务对应的运行周期。
在本申请的一个实施例中,所述子任务中包括异步触发子任务,所述异步触发子任务包括异步延时函数;当所述目标子任务为所述异步触发子任务时,目标子任务确定模块具体用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市正浩创新科技股份有限公司,未经深圳市正浩创新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211094094.4/2.html,转载请声明来源钻瓜专利网。