[发明专利]一种应用于消费线程的任务执行方法、装置及存储介质在审
申请号: | 202210982437.4 | 申请日: | 2022-08-16 |
公开(公告)号: | CN115562818A | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 肖京;陈丽萍 | 申请(专利权)人: | 广州南方卫星导航仪器有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/4401 |
代理公司: | 广州市越秀区哲力专利商标事务所(普通合伙) 44288 | 代理人: | 孙柳 |
地址: | 510665 广东省广州市天河*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 消费 线程 任务 执行 方法 装置 存储 介质 | ||
1.一种应用于消费线程的任务执行方法,其特征在于,包括:
初始化步骤:系统初始化并创建消费线程和消费队列;
休眠步骤:将所述消费线程置于休眠状态;
投递步骤:实时获取外部投递的任务并将任务依次投递到所述消费队列中;
提取步骤:当所述消费线程的休眠时间达到预设休眠时间时,将所述消费队列中的所有任务全部取出并存储到本地队列中,同时将所述消费线程退出休眠状态;
处理步骤:依次从所述本地队列中取出对应任务并调用所述消费线程执行,以及当所述本地队列中的任务执行完毕后执行休眠步骤;直到系统结束。
2.根据权利要求1所述的应用于消费线程的任务执行方法,其特征在于,所述任务处理步骤之后还包括:
判断步骤:当所述本地队列中的任务执行完毕后,判断所述消费队列中是否存在任务,若是,则将所述消费队列中的所有任务全部取出并存储到所述本地队列中后执行处理步骤;若否,则执行休眠步骤。
3.根据权利要求1所述的应用于消费线程的任务执行方法,其特征在于,所述初始化步骤包括系统初始化并创建线程池,所述线程池内包括若干个所述消费线程。
4.根据权利要求3所述的应用于消费线程的任务执行方法,其特征在于,所述处理步骤还包括按照本地队列中的任务的执行顺序分别调用对应的消费线程执行。
5.根据权利要求1所述的应用于消费线程的任务执行方法,其特征在于,所述投递步骤还包括:将实时接收到的外部投递的任务按照接收的顺序依次投递到所述消费队列中。
6.根据权利要求5所述的应用于消费线程的任务执行方法,其特征在于,所述投递步骤还包括:当系统接收到外部投递的任务时,调用对应的投递线程将接收到的任务存储所述消费队列中。
7.一种应用于消费线程的任务执行装置,其特征在于,包括:
初始化模块,用于系统初始化并创建消费线程和消费队列;
休眠模块,用于将所述消费线程置于休眠状态;
投递模块,用于实时获取外部投递的任务并将任务依次投递到所述消费队列中;
提取模块,用于当所述消费线程的休眠时间达到预设休眠时间时,将所述消费队列中的所有任务全部取出并存储到本地队列中,同时将所述消费线程退出休眠状态;
处理模块,用于依次从所述本地队列中取出对应任务并调用所述消费线程执行,以及当所述本地队列中的任务执行完毕后执行休眠步骤;直到系统结束。
8.根据权利要求7所述的应用于消费线程的任务执行装置,其特征在于,所述处理模块之后还包括:
判断模块,用于当所述本地队列中的任务执行完毕后,判断所述消费队列中是否存在任务,若是,则将所述消费队列中的所有任务全部取出并存储到所述本地队列中后执行处理模块;若否,则执行休眠模块。
9.根据权利要求7所述的应用于消费线程的任务执行装置,其特征在于,所述初始化模块还用于:系统初始化并创建线程池,所述线程池内包括若干个所述消费线程;
所述处理模块还用于:按照本地队列中的任务的执行顺序分别调用对应的消费线程执行;
所述投递模块还用于:将实时接收到的外部投递的任务按照接收的顺序依次投递到所述消费队列中;以及当系统接收到外部投递的任务时,调用对应的投递线程将接收到的任务存储所述消费队列中。
10.一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序为任务执行程序,其特征在于,所述任务执行程序被处理器执行如权利要求1-6中任一项所述的一种应用于消费线程的任务执行方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州南方卫星导航仪器有限公司,未经广州南方卫星导航仪器有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210982437.4/1.html,转载请声明来源钻瓜专利网。