[发明专利]一种通用异步任务执行方法及装置在审
申请号: | 201810968124.7 | 申请日: | 2018-08-23 |
公开(公告)号: | CN109358917A | 公开(公告)日: | 2019-02-19 |
发明(设计)人: | 胡海;周平 | 申请(专利权)人: | 贵阳朗玛信息技术股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 贵阳睿腾知识产权代理有限公司 52114 | 代理人: | 谷庆红 |
地址: | 550022 贵州省贵阳市贵阳国家高新技术产业*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务执行 线程 任务队列 通用 封装 通用异步 线程执行 耦合 调用 解开 取出 | ||
1.一种通用异步任务执行方法,其特征在于包括:
将异步任务封装为通用任务,并将所述通用任务加入任务队列;
调用任务执行线程,并利用所述任务执行线程从所述任务队列中取出所述通用任务;
解开所述通用任务的封装,获得所述异步任务,并利用所述任务执行线程执行所述异步任务;
执行所述异步任务完毕之后,将所述任务队列中的所述通用任务删除。
2.根据权利要求1所述的通用异步任务执行方法,其特征在于:所述将异步任务封装为通用任务包括:为异步任务创建一个任务观察者标识并封装为通用标识;且所述将所述通用任务加入任务队列之前,包括:通知所述任务队列将通用任务加入所述任务队列。
3.根据权利要求1所述的通用异步任务执行方法,其特征在于:所述任务队列不再接收新的封装为通用任务的异步任务后,任务执行线程将已在所述任务队列中的通用任务执行完毕后终止运行。
4.根据权利要求1所述的通用异步任务执行方法,其特征在于:所述将所述通用任务加入任务队列时,是将所述通用任务加入任务队列的队首或者队尾。
5.根据权利要求1所述的通用异步任务执行方法,其特征在于:所述将异步任务封装为通用任务之后,包括:将所述通用任务放入分配队列,并查询是否存在任务队列为空的任务队列;如果存在任务队列为空的任务队列,则从所述分配队列中的队首提取所述通用任务,并将所述通用任务放入一个任务队列为空的任务队列中。
6.根据权利要求5所述的通用异步任务执行方法,其特征在于,还包括:接收任务队列为空的任务队列发出的待接收任务的信号;从所述分配队列中的队首提取通用任务,并将该提取的通用任务放入该为空的任务队列中;且所述将该提取的通用任务放入该为空的任务队列中之后,将该通用任务从所述分配队列中删除。
7.一种通用异步任务执行装置,其特征在于包括:
通用任务单元,用于封装异步任务为通用任务;
通用观察者单元,用于封装异步任务的任务观察者标识,任务观察者标识表达异步任务的执行状态;
任务执行线程单元, 包含任务队列和执行线程,所述任务队列用于存储所述通用任务并排序,所述执行线程用于执行所述任务队列中的任务;
所述通用任务单元包含一个指向所述通用观察者单元的指针,所述任务执行线程单元调用所述指针将所述通用任务单元的执行结果发送给所述通用观察者单元。
8.根据权利要求7所述的通用异步任务执行装置,其特征在于:任务执行线程单元还包含一个添加任务单元,通用观察者单元中封装的任务观察者标识调用添加任务单元将通用任务单元添加到任务队列的队首或者队尾,任务观察者标识得到异步任务的执行结果后将通用任务从任务队列中删除。
9.根据权利要求7或8所述的异步任务执行装置,其特征在于:还包括分配队列单元,用于存储和排列封装后的通用任务,分配队列单元将通用任务进行二次封装,并添加一个分配标识,分配标识为未分配时通用任务在分配队列中排队等待分配给任务队列为空的任务执行线程单元,分配标识为已分配时将通用任务踢出分配队列。
10.根据权利要求9所述的异步任务执行装置,其特征在于:所述分配队列单元中包含分配模块,当任务执行线程单元的任务队列为空时,发出待接收任务的信号,分配模块用于取出队首的任务,找到任务队列为空的任务执行线程单元,将任务分配到该任务执行线程单元,没有找到则将任务放回队首。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵阳朗玛信息技术股份有限公司,未经贵阳朗玛信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810968124.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:嵌入式系统的启动方法及装置
- 下一篇:一种新型底层硬件屏蔽系统