Java Timer在每t秒后调用n次函数

时间:2012-05-14 20:01:17

标签: java timer

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

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

2 个答案:

答案 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。