0

我希望 Java Timer 在每 t 秒后调用函数 n 次。我现在正在尝试这个,它每隔 t 秒调用一次函数,但我希望这个函数只被调用 n 次。

Timer tt = new Timer();
tt.schedule(new MyTimer(url), t);
4

2 回答 2

4

我认为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);
于 2012-05-14T20:08:38.633 回答
0

尝试执行者服务。您必须计算自己,调用 Callable 和取消 Timer 的频率。

于 2012-05-14T20:07:35.793 回答