schedule、scheduleAtFixedRate和scheduleWithFixedDelay的区别

最近使用java中的定时任务时,对于标题中的几个方法有点懵,故而记录一下。

schedule(commod,delay,unit) ,这个方法是说系统启动后,需要等待多久执行,delay是等待时间。只执行一次,没有周期性。

举个栗子:火箭发射,delay=10秒,发射准备好了之后,开始读秒:10,9,8,,,1,发射。piu~,任务完成,回家吃饭。

scheduleAtFixedRate(commod,initialDelay,period,unit),这个是以period为固定周期时间,按照一定频率来重复执行任务,initialDelay是说系统启动后,需要等待多久才开始执行。

举个栗子:高铁定时发车,过时不候;period为一天,以天为周期,优先保证任务执行的频率。

scheduleWithFixedDelay(commod,initialDelay,delay,unit),这个是以delay为固定延迟时间,按照一定的等待时间来执行任务,initialDelay意义与上面的相同。

举个栗子:【这个例子相当的不好找。。。我后面的同事在玩炉石】就拿炉石传说来讲吧,假设他每玩一局休息10秒钟,然后再开始玩。每开新的一局,打完的时间不是固定的,但是间隔是固定的,就是delay=10秒,表现在时间轴上就是【第一局260秒】【休息10秒】【第二局150秒】 【休息10秒】…【第N局180秒】【休息10秒】。这个是优先保证任务执行的间隔。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值