一种定时任务的执行方法及计算设备技术

技术编号:36705716 阅读:40 留言:0更新日期:2023-03-01 09:27
一种定时任务的执行方法,包括:确定时间轮定时器的循环指针指向第一时间槽的第一时间,所述第一时间槽为所述循环指针当前指向的时间槽的下一个时间槽;在当前时间大于等于所述第一时间的情况下,将所述定时器的循环指针指向第一时间槽;获取所述时间轮定时器的触发轮次;触发所述第一任务列表中的至少一个定时任务执行,其中,所述第一任务列表中的各个定时任务的触发轮次与所述时间轮定时器的触发轮次相同。对时间轮定时器内的定时任务按照触发轮次进行分层管理,提升了时间轮定时器任务触发性能,使得时间轮定时器可以支持更大量的定时任务。定时任务。定时任务。

【技术实现步骤摘要】
一种定时任务的执行方法及计算设备


[0001]本专利技术涉及计算机数据处理
,尤其涉及一种定时任务的执行方法及计算设备。

技术介绍

[0002]在计算机软件系统中,定时任务是一种非常常见的任务形态,例如:声称该月度统计报表、会员积分结算、邮件推送等,其本质都是定时任务。在计算机软件系统中,定时任务的触发一般都是有各种类型的定时器来完成。其中,时间轮定时器是一种简单、不依赖第三方组件,且能高效进行任务触发的定时。但是,由于时间轮定时器中划分的存储空间的数量有限,在大量延时任务的场景下,会导致不同延时长度的任务会被分配到同一个存储空间中。导致时间轮触发时,需要遍历同一个存储空间中的每一个任务,降低了定时器任务触发的性能。

技术实现思路

[0003]本申请提供了一种定时任务的执行方法及计算设备,通过任务分层机制,提升了时间定时器任务触发性能,使得时间轮定时器可以支持更大量的定时任务。
[0004]第一方面,本申请提供了一种定时任务的执行方法,包括:确定时间轮定时器的循环指针指向第一时间槽的第一时间,第一时间槽为循环指针当本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种定时任务的执行方法,其特征在于,包括:确定时间轮定时器的循环指针指向第一时间槽的第一时间,其中,所述第一时间槽为所述循环指针当前指向的时间槽的下一个时间槽;在当前时间大于等于所述第一时间的情况下,将所述时间轮定时器的循环指针指向第一时间槽;获取所述时间轮定时器的触发轮次;根据所述时间轮定时器的触发轮次,触发所述第一时间槽中的第一任务列表中的定时任务执行,其中,所述第一任务列表中的各个定时任务的触发轮次与所述时间轮定时器的触发轮次相同。2.根据权利要求1所述的方法,其特征在于,所述触发所述第一任务列表中的定时任务执行,包括:遍历所述第一任务列表,触发执行目标定时任务;其中,所述目标定时任务为第一任务列表中触发时间小于等于当前时间的定时任务。3.根据权利要求2任一项所述的方法,其特征在于,所述遍历所述第一任务列表,触发执行目标定时任务后,所述方法还包括:确定所述时间轮定时器的循环指针指向第二时间槽的第二时间,其中,所述第二时间槽为所述第一时间槽的下一个时间槽;在当前时间小于所述第二时间的情况下,确定所述时间轮定时器需要休眠的第三时间,所述第三时间为毫秒级别的时间;在所述第三时间大于等于1毫秒的情况下,使用系统函数sleep触发所述时间轮定时器休眠所述第三时间;在所述第三时间小于1毫秒的情况下,使用Pause指令触发所述时间轮定时器进行休眠。4.根据权利要求3所述的方法,其特征在于,所述使用Pause指令触发所述时间轮定时器进行休眠,包括:等待固定的时间间隔后,若所述当前时间小于所述第二时间,继续触发所述时间轮定时器进行休眠。5.根据权利要求1

4任一项所述的方法,其特征在于,所述触发所述第一时间槽中的第一任务列表中的定时任务执行之前,所述方法还包括:接收定时任务,所述定时任务中包含所述定时任务的延时执行时间;根据所述定时任务的延时执行时间,确定所述定时任务的触发时间;根据所述定时任务的触发时间,确定所述定时...

【专利技术属性】
技术研发人员:石林灵
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1