비슷한 질문이 여기에 있지만 만족스럽지 않습니다. 그래서 다시 질문을 다시 말하자면 -Timer & TimerTask 대 Java의 Thread + sleep
나는 1 분 간격으로 말하면 정기적으로해야 할 일이있다. 수면과 함께 무한 루프가있는 새 스레드를 만드는 것과 반대로 Timertask & Timer를 사용하면 어떤 이점이 있습니까?
코드 timertask-
TimerTask uploadCheckerTimerTask = new TimerTask(){
public void run() {
NewUploadServer.getInstance().checkAndUploadFiles();
}
};
Timer uploadCheckerTimer = new Timer(true);
uploadCheckerTimer.scheduleAtFixedRate(uploadCheckerTimerTask, 0, 60 * 1000);
코드 나 특정주기를 놓치면 로직의 실행이 걸리는 경우 걱정 난 정말이없는
Thread t = new Thread(){
public void run() {
while(true) {
NewUploadServer.getInstance().checkAndUploadFiles();
Thread.sleep(60 * 1000);
}
}
};
t.start();
스레드 및 sleep-를 사용하여 스 니펫을 사용하여 니펫을 간격 시간 이상.
이에 대해 언급 해주십시오 ..감사합니다,
업데이트 -Keshav
:
최근 내가 Thread.sleep를 대 타이머를 사용하여 또 다른 차이점을 발견(). 현재 시스템 시간이 오전 11시라고 가정합니다. 어떤 이유로 시스템 시간을 오전 10 시로 롤백하면 Timer는 오전 11시에 도달 할 때까지 작업 실행을 중지하지만 Thread.sleep() 메서드는 방해받지 않고 작업을 계속 실행합니다. 이것은이 두 가지 사이에서 무엇을 사용할 지 결정할 때 중요한 의사 결정자가 될 수 있습니다.
주문 순서 : Timer 및 TimerTask는 현재 사용되지 않으며 사용자의 포인트가 여전히 있음에도 불구하고 효과적으로 ExecutorService로 대체되었습니다. – skaffman
팁 주셔서 감사합니다. ExecutorService를 사용하기로 결정했습니다. – Keshav
답변 해 주셔서 감사합니다. – Keshav