我们知道我们可以在一段特定的时间间隔后运行调用方法。例如:
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则:
结束等...
我找到了最简单的方法(库)来实现。它可以是另一个类。我无法找到Timer是否具有此功能。
最好的问候。
答案 0 :(得分:2)
您需要做的就是
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();
}
}