나는 java.util.Timer
클래스를 사용하고 있고 일정 방법을 사용하여 일부 작업을 수행하고 있지만 6 번 실행 한 후 작업을 중지해야합니다.
어떻게해야합니까?
답변
어딘가에 타이머에 대한 참조를 유지하고 다음을 사용하십시오.
timer.cancel();
timer.purge();
뭘 하던지 막으려 고요 이 코드를 수행중인 작업에 삽입하여 수행 한 static int
횟수를 계산할 수 있습니다. 예 :
private static int count = 0;
public static void run() {
count++;
if (count >= 6) {
timer.cancel();
timer.purge();
return;
}
... perform task here ....
}
답변
어느 전화 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
타이머를 취소하는 것만으로는 진행중인 타이머 작업이 종료되지 않습니다.
답변
timer.cancel(); //Terminates this timer,discarding any currently scheduled tasks.
timer.purge(); // Removes all cancelled tasks from this timer's task queue.
답변
밀리 초 단위의 특정 시간에 깨어 난 후 타이머를 한 번 종료합니다.
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println(" Run spcific task at given time.");
t.cancel();
}
}, 10000);