[发明专利]一种任务超时自动回收分配的方法在审
申请号: | 201711392986.1 | 申请日: | 2017-12-21 |
公开(公告)号: | CN109947554A | 公开(公告)日: | 2019-06-28 |
发明(设计)人: | 吴晓辉;马志伟;陈伟;王旭;朱凤健 | 申请(专利权)人: | 江苏奥博洋信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 超时 自动回收 线程池 多线程 队列 分配 启动定时器 任务完成 用户接收 启动线 线程 配合 回收 创建 | ||
本发明公开了一种任务超时自动回收分配的方法,涉及多线程的处理和线程池配合技术领域。具体方法为:设定任务的作业时间;把任务放在线程池的队列中,创建线程,启动线程;用户接收队列中的任务;用户做任务,提交任务;判断提交任务是否超时,如果未超时,则此任务完成,如果已超时,则修改状态;启动定时器,每隔一定时间执行定时任务,把超时的任务自动回收到线程池中,等待分配。集成Spring和Struts等框架和多线程等技术,它不仅实现起来方便,功能强大,而且在web开发时正好配合spring框架使用,是定时回收超时任务的最佳选择。
技术领域
本发明涉及一种任务超时自动回收分配的方法,具体涉及多线程的处理和线程池配合技术领域。
背景技术
在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其他更多资源。在java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率是一个需要解决的关键问题,其实这就是一些“池化资源”技术产生的原因。多线程技术主要解决处理器单元内多个线程的执行问题,它可以显著的减少处理器单元的闲置时间,增加处理器单元的吞吐能力。定时器使用方便,清晰指定启动时间,定时参数比较灵活,容易实现比较复杂的定时任务。
发明内容
本发明的目的在于提供一种任务超时自动回收分配的方法,此种方法把超时的任务定为修改状态,然后再回收到队列中,等待下一次的任务分配,此种分配方法可以提高CPU的利用率,同时大大提高了程序的效率。
为实现上述目的,本发明提供如下技术方案:一种任务超时自动回收分配的方法包括以下步骤:
步骤一、设定任务的作业时间;
步骤二、把任务放在线程池的队列中,创建线程,启动线程;
步骤三、用户接收队列中的任务;
步骤四、用户做任务,提交任务;
步骤五、判断提交任务是否超时,如果未超时,则此任务完成,如果已超时,则为修改状态;
步骤六、启动定时器,每隔一定时间执行定时任务,把超时的任务自动回收到线程池中,等待分配。
作为优选,所述的步骤一中,在后台设定作业时间作为指定值,该指定值作为判断任务是否超时的依据;
作为优选,所述的步骤二中的线程池,是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,而这里涉及到的队列,是一种数据结构,用链表和数组都可以实现,队列的特点就是先放入队列的数据先出队列;
作为优选,所述的步骤三中,在创建线程启动线程后,队列中的任务按照先放入队列的数据先出队列的特点,依次被用户接收进行作业。
作为优选,所述的步骤四、步骤五和步骤六中,用户在接收到队列中的任务进行作业时,如果作业的过程中或者提交任务的时间已经超过步骤一中设定的指定值时,这时就判定该任务已经超时,然后系统修改该任务的状态,并把超时的任务重新放回到队列中,最后等待下一次的分配。
与现有技术相比,本发明的有益效果是:集成Spring和Struts等框架和多线程等技术,使用定时器定时扫描,执行定时任务。完成超时任务的回收分配,且spring的定时器功能,它不仅实现起来方便,功能强大,而且在web开发时正好配合spring框架使用,是定时回收超时任务的最佳选择。
附图说明
图1为本发明流程结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏奥博洋信息技术有限公司,未经江苏奥博洋信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711392986.1/2.html,转载请声明来源钻瓜专利网。