发明名称 一种在多线程环境下高效处理延时任务的方法
摘要 一种在多线程环境下高效处理延时任务的方法,首先用一个类作为所有任务的基类,其他的具体的延时任务必须继承这个基类;程序启动时,首先初始化一个任务列表处理器,它包含一个待处理任务列表,所有的定时任务在初始化好以后,必须加入这个任务列表中等待执行;然后在应用程序启动时,初始化一个任务调度器;当应用想执行一个延时到某一时间点执行的任务的时候,必须初始化一个继承了任务基类并且重写了Execute()方法的具体任务对象,然后通过任务列表处理器的AddDuty方法把任务添加到任务列表中;最后每过一小段时间,任务调度器会执行任务列表处理器的Execute()方法。本发明使得在多线程的复杂环境下,延时执行的任务能够执行。
申请公布号 CN101887361A 申请公布日期 2010.11.17
申请号 CN200910084091.0 申请日期 2009.05.14
申请人 灰熊(北京)科技有限公司 发明人 刘立军;王磊;张守文;陶勇胜
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 代理人
主权项 一种在多线程环境下高效处理延时任务的方法,其特征在于:该方法至少包括如下的步骤:步骤1:用一个类作为所有任务的基类,其他的具体的延时任务必须继承这个基类。步骤2:程序启动时,首先初始化一个任务列表处理器,它包含一个待处理任务列表,所有的定时任务在初始化好以后,必须加入这个任务列表中等待执行。步骤3:在应用程序启动时,初始化一个任务调度器,它包含一个时钟:Timer对象,它每隔一小段时间激发一次,执行任务列表对象的Execute()方法。步骤4:当应用想执行一个延时到某一时间点执行的任务的时候,必须初始化一个继承了任务基类并且重写了Execute()方法的具体任务对象,然后通过任务列表处理器的AddDuty方法把任务添加到任务列表中。步骤5:每过一小段时间,任务调度器会执行任务列表处理器的Execute()方法,此方法按照顺序取出所有的任务对象,判断执行时间,如果执行之间>当前时间,则执行此任务对象的Execute()方法。
地址 102218 北京市昌平区天通苑北2区39号楼7单元701