我希望Java Timer在每t秒后调用n次函数。我正在尝试这个现在它每隔t秒调用一次函数但我希望这个函数只被调用n次。
Timer tt = new Timer();
tt.schedule(new MyTimer(url), t);
答案 0 :(得分:4)
我认为Timer
没有它作为内置函数。您需要添加一个计数器来为每次调用计算它,然后在n次后使用cancel()
停止计时器。
这样的事情:
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);
答案 1 :(得分:0)
尝试Executor服务。你必须自己计算,你多久调用一次Callable并取消Timer。