6

“period”和“fixedRate”的确切用法是什么?这真的有意义吗,因为如果我指定了“周期”值,那么无论如何计时器都会在该间隔之后触发。那么“fixedRate”标志的确切用途是什么?

我很困惑,请帮帮我!

4

2 回答 2

3

您可以在以下位置阅读 java.util.Timer 的 javadoc api:http: //docs.oracle.com/javase/7/docs/api/java/util/Timer.html

他们解释了固定利率和延迟利率之间的区别。

于 2013-07-22T12:53:18.550 回答
2

Camel 计时器端点使用java.util.Timer.

如果将fixedRate标志设置true为使用以下方法:

java.util.Timer#scheduleAtFixedRate(java.util.TimerTask, java.util.Date, long)

否则使用以下方法:

java.util.Timer#schedule(java.util.TimerTask, java.util.Date, long)


如果我了解Timer 类的 Javadoc,则固定速率执行不关心前一次执行的执行时间,只关心初始执行的执行时间。

一个澄清的例子:

采用一个固定速率执行的计时器,初始执行时间为 12:00,周期为 1 小时。计时器将(尝试)在 14:00 开始第三次执行 - 即使由于某种原因,本应在 13:00 开始的执行被延迟并实际上在 13:06 开始。

如果计时器没有固定速率执行,它将(尝试)在 14:06 开始第三次执行。

于 2021-05-11T15:27:09.273 回答