schedule和scheduleAtFixedRate的区别-带例子
好久没写博客了,快成咸鱼了,今天就来试试手,主要还是被这个问题困扰久了,来记录一下
Timer的两种添加调度任务的方式:
贴一段api:
schedule
scheduleAtFixedRate
两种方式的区别:
一、如果第二个参数firstTime是在当前时间之前,那么scheduleAtFixedRate会追赶执行,就是把firstTime与当前时间之间,应该执行任务的次数执行完,schedule不会
栗子:
现象:无追赶执行
换成scheduleAtFixedRate
现象:追赶执行
二、如果任务执行时间大于任务执行间隔,也就是任务执行会延时的情况下,scheduleAtFixedRate的执行间隔是固定的,执行还是以上次任务执行的开始时间计算下一次任务的开始时间,schedule执行会以上一个任务执行的结束开始计算下一次任务的开始时间,但是如果时间小于当前时间,任务会立即执行;
附上网上一篇博客的解释,感觉是对的,至少执行现象是符合的:
现象:固定的间隔两秒执行
---------------
现象:执行时间以上一个任务执行结束时间计算
具体执行原理,没看源码。反正现象是知道了
tzyydsh: 即便是正确写我这也是不显示
JimmyLincole: 哥们,咋解决的,我也遇到了提示“密码错误”
SinceThenLater: 不知道密码可以给已经加密的文件进行解密吗
程序员老牛了laoliu: 解决了
夏夜里的晚风。 回复 程序员老牛了laoliu: 大佬,搞定了吗,我现在也要给excel加密,我用的poi生成excel,加密不会。。。