admin管理员组文章数量:1794759
schedule和scheduleAtFixedRate的区别
好久没写博客了,快成咸鱼了,今天就来试试手,主要还是被这个问题困扰久了,来记录一下
Timer的两种添加调度任务的方式:
贴一段api:
schedule scheduleAtFixedRate两种方式的区别:
一、如果第二个参数firstTime是在当前时间之前,那么scheduleAtFixedRate会追赶执行,就是把firstTime与当前时间之间,应该执行任务的次数执行完,schedule不会栗子:
现象:无追赶执行
换成scheduleAtFixedRate
现象:追赶执行
二、如果任务执行时间大于任务执行间隔,也就是任务执行会延时的情况下,scheduleAtFixedRate的执行间隔是固定的,执行还是以上次任务执行的开始时间计算下一次任务的开始时间,schedule执行会以上一个任务执行的结束开始计算下一次任务的开始时间,但是如果时间小于当前时间,任务会立即执行;
附上网上一篇博客的解释,感觉是对的,至少执行现象是符合的:
现象:固定的间隔两秒执行
---------------
现象:执行时间以上一个任务执行结束时间计算
具体执行原理,没看源码。反正现象是知道了
本文标签: 区别schedulescheduleAtFixedRate
版权声明:本文标题:schedule和scheduleAtFixedRate的区别 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686479200a72115.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论