0

連続した間隔の後に繰り返し呼び出されるメソッドがあります。私は使用しpublic void schedule(TimerTask task, Date firstTime, long period)ました。このスケジュールメソッドが一定時間後に呼び出されるのを停止する方法。

今のところ、このメソッドを停止する方法がわかりません。

どんな助けでも大歓迎です。

4

3 に答える 3

4

あなたはキャンセルをスケジュールすることができます。たとえば、ScheduledExecutorを使用すると、次のようになります。

    ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(2);
    Runnable yourRecurrentTask = ...; //your recurrent task
    //run every seconds
    final ScheduledFuture<?> future = scheduler.
            scheduleAtFixedRate(yourRecurrentTask, 0, 1, TimeUnit.SECONDS);
    Runnable cancelTask = new Runnable() {
        @Override
        public void run() {
            future.cancel(true);
        }
    };
    //cancel the reccurent task in 15 seconds
    scheduler.schedule(cancelTask, 15, TimeUnit.SECONDS);
于 2012-11-30T10:20:55.027 に答える
0

決められた時間の後にタイマーを止めることはできませんか?別のタイマーを使用できます。このタイマーは1回だけ起動し、他のタイマーを停止します。

于 2012-11-30T10:19:15.387 に答える
0

既存のタスクへの参照を保持し、それTimerTaskを呼び出す別のタスクをスケジュールしますcancel。このタスクは、繰り返しのない1回限りのスケジュールとしてスケジュールする必要があります。

于 2012-11-30T10:19:58.163 に答える