gpt4 book ai didi

java - 如何运行动态可变时间的定时器任务?

转载 作者:行者123 更新时间:2023-12-02 04:16:04 26 4
gpt4 key购买 nike

我们知道我们可以在某个特定的时间间隔后运行调用方法。例如:

Timer timer = new Timer();
timer.schedule(new MyClass(), 0, 5000);

class MyClass extends TimerTask {

public void run() {
// logic
}
}

一切看起来都很好!但如何每次都指定随机时间呢?换句话说,我不想每 N 毫秒调用一次方法,但我需要每次以随机延迟间隔调用它。

例如延迟范围为[M-N],如果M=5000且N=20000则:

  • 第一个延迟:范围 [5000-20000] 中的随机数
  • 第二个日期:范围 [5000-20000] 中的随机数

结束等...

我正在寻找最简单的实现方法(库)。它可以是另一个类。我找不到Timer是否有这个功能。

致以诚挚的问候。

最佳答案

您需要做的就是

public void schedule() {
timer.schedule(new MyClass(),Math.round(Math.random()*15000)+5000);
}
class MyClass extends TimerTask {
public void run() {

//your code

//schedule next task;
schedule();
}
}

关于java - 如何运行动态可变时间的定时器任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33307235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com