关于java定时器 区别

2025-01-13 00:31:11
推荐回答(2个)
回答1:

(1)schedule方法:“fixed-delay”;如果第一次执行时间被delay了,随后的执行时间按 照 上一次 实际执行完成的时间点 进行计算
(2)scheduleAtFixedRate方法:“fixed-rate”;如果第一次执行时间被delay了,随后的执行时间按照 上一次开始的 时间点 进行计算,并且为了”catch up”会多次执行任务,TimerTask中的执行体需要考虑同步

通俗的说就是第一种方法,你设置参数是10s中,它肯定会大于10s,因为执行方法是需要时间的。第二种方法,意图保持固定的频率,10s中后会执行第二次,再过十秒一定执行第三次。哪怕方法里面是耗时的,也会在10s后准时执行第二次。

回答2:

这是个 找不同吗? 除了参数不一样 都一样 完毕