私はjava.util.timerクラスを使用しており、そのスケジュールメソッドを使用していくつかのタスクを実行していますが、6回実行した後、そのタスクを停止する必要があります。
どうすればよいですか?
回答:
タイマーへの参照をどこかに保持し、次を使用します。
timer.cancel();
timer.purge();
何をしているのをやめるために。このコードをa static intを使用して実行しているタスク内に配置し、移動した回数をカウントできます。たとえば、
private static int count = 0;
public static void run() {
count++;
if (count >= 6) {
timer.cancel();
timer.purge();
return;
}
... perform task here ....
}
cancelそれ自体が機能します。
どちらの呼び出しcancel()にTimerそれはそれはやっているすべてだ場合、またはcancel()上のTimerTaskタイマー自体は続行する他のタスクを持っている場合。
タイマーでスケジュールしたタスクを停止する必要があります:タイマー:
Timer t = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
//do something
};
}
t.schedule(tt,1000,1000);
停止するには:
tt.cancel();
t.cancel(); //In order to gracefully terminate the timer thread
タイマーをキャンセルしただけでは、進行中のタイマータスクは終了しないことに注意してください。