Java/Java: 문법 정리
[Java] Timer/TimerTask 클래스 정리
데브마우스
2024. 1. 14. 23:04
Timer/TimerTask 클래스는 무엇인가요?
Timer/TimerTask 클래스는 특정한 시간에 코드를 실행시키거나 특정 시간 간격으로 코드를 실행하게 만듭니다.
Timer/TimerTask 예제 코드는 아래와 같습니다.
import java.util.Timer;
import java.util.TimerTask;
class Work1 extends TimerTask {
@Override
public void run() {
System.out.println("work1을 실행합니다.");
}
}
class Work2 extends TimerTask {
@Override
public void run() {
System.out.println("work2을 실행합니다.");
}
}
public class Main {
public static void main(String[] args) throws InterruptedException {
Timer t = new Timer(true);
TimerTask w1 = new Work1();
TimerTask w2 = new Work2();
int thousand = 1000;
t.schedule(w1, 5 * thousand); // 5초
t.schedule(w2, 3 * thousand); // 3초
Thread.sleep(4 * thousand); // 종료하지 않고 작업 4초 대기
System.out.println("모든 작업 종료");
/*
* 출력:
* work2를 실행합니다.
* 모든 작업 종료
*
* 이유:
* w2는 3초 뒤에 실행되고
* w1는 5초 뒤에 실행되지만
* Thread.sleep이 4초간 대기 시키기때문에
* w1이 실행되지 않습니다.
*/
}
}
Timer/TimerTask 주 사용처는 어디인가요?
반복적으로 실행되어야 하는 프로그램의 업데이트 부분에서 주로 사용됩니다.