我希望 Java Timer 在每 t 秒后调用函数 n 次。我现在正在尝试这个,它每隔 t 秒调用一次函数,但我希望这个函数只被调用 n 次。
Timer tt = new Timer();
tt.schedule(new MyTimer(url), t);
我认为Timer
没有它作为内置功能。您需要添加一个计数器来计算每次调用的次数,然后cancel()
在 n 次后停止使用计时器。
像这样的东西:
final int[] counter = {n};
final Timer tt = new Timer();
tt.schedule(new TimerTask(){
public void run() {
//your job
counter[0]--;
if (counter[0] == 0) {
tt.cancel();
}
}
}, t);
尝试执行者服务。您必须计算自己,调用 Callable 和取消 Timer 的频率。