Java 타이머 클래스는 지정된 간격으로 실행될 작업을 예약할 수 있는 강력한 도구입니다. 작업을 한 번 실행해야 하는지 아니면 반복적으로 실행해야 하는지에 관계없이 타이머 클래스는 Java 프로그램을 자동화하는 편리한 방법을 제공합니다. 이 기사에서는 Java Timer Class의 기능을 살펴보고 이를 효과적으로 구현하는 방법을 알아봅니다.
Java 타이머 클래스 소개
Timer 클래스는 java.util 패키지 의 일부 이며 지정된 시간이나 정기적인 간격으로 실행되도록 작업을 예약하는 데 사용됩니다 . 미리 결정된 간격으로 코드를 실행하는 간단하고 안정적인 방법을 제공하므로 이벤트 트리거, 주기적인 업데이트 수행 또는 백그라운드 프로세스 예약과 같은 작업에 이상적입니다. Timer 클래스를 사용하려면 java.util.Timer 클래스 에서 Timer 객체를 생성해야 합니다 . 이 Timer 개체는 요구 사항에 따라 작업을 예약하고 실행하는 일을 담당합니다.타이머 객체 생성
Timer 개체를 만들고 해당 메서드를 살펴보는 것부터 시작해 보겠습니다 . 다음 코드 예제에서는 Timer 개체를 만들고 지정된 지연 후에 한 번 실행되도록 작업을 예약합니다.// First we will import the java.util.Timer & java.util.TimerTask classes
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer(); // Creating a Timer object from the timer class
TimerTask task1 = new TimerTask() {
public void run() {
System.out.println("Task 1 executed!");
}
};
TimerTask task2 = new TimerTask() {
public void run() {
System.out.println("Task 2 executed!");
}
};
TimerTask task3 = new TimerTask() {
public void run() {
System.out.println("Task 3 executed!");
}
};
// Scheduling tasks to run after specified delays
timer.schedule(task1, 2000); // Using the schedule method of the timer class
timer.schedule(task2, 4000); // Using the schedule method of the timer class
timer.schedule(task3, 6000); // Using the schedule method of the timer class
}
}
이 업데이트된 예제에서는 Timer 클래스를 사용하여 Timer 객체가 생성됩니다 . 각 TimerTask는 타이머에 의해 예약되고 실행되는 작업을 나타냅니다. 각 TimerTask 내의 실행 메소드 에는 작업이 실행될 때 실행될 코드가 포함되어 있습니다. 그런 다음 작업 과 지연을 밀리초 단위로 지정하여 Timer 클래스 의 Schedule 메서드를 사용하여 작업을 예약합니다. 이 코드에서는 일정 메서드가 세 번 사용되며 매번 다른 작업과 지연이 사용됩니다.
산출
코드를 실행하면 다음과 같이 출력됩니다.
작업 1이 실행되었습니다! 작업 2가 실행되었습니다! 작업 3이 실행되었습니다!
각 작업은 해당 지연 후에 실행되어 Timer 클래스의 기능을 보여줍니다.
타이머 방법
Timer 클래스 는 실행할 작업을 예약하는 다양한 방법을 제공합니다. 일반적으로 사용되는 몇 가지 방법을 살펴보겠습니다.1. 일정(TimerTask 작업, 긴 지연)
이 메서드는 지정된 지연 이후 실행되도록 지정된 작업을 예약합니다. 지연은 밀리초 단위로 지정됩니다. 예를 들어:timer.schedule(task, 5000); // Schedule the task to run after a 5-second delay
2. 일정(TimerTask 작업, 날짜 시간)
이 메서드는 지정된 시간에 실행되도록 지정된 작업을 예약합니다. 작업은 한 번만 실행됩니다. 예를 들어:Date executionTime = new Date(System.currentTimeMillis() + 5000); // Get the current time + 5 seconds
timer.schedule(task, executionTime); // Schedule the task to run at the specified time
3. 일정(TimerTask 작업, 장기 지연, 장기)
이 메서드는 지정된 지연 후 지정된 간격으로 반복 실행되도록 지정된 작업을 예약합니다. 지연은 첫 번째 실행 전의 시간(밀리초)이고, 기간은 후속 실행 사이의 시간(밀리초)입니다. 예를 들어:timer.schedule(task, 2000, 5000); // Schedule the task to run after a 2-second delay and repeat every 5 seconds
자바 타이머 일정
기본 스케줄링 방법 외에도 Timer 클래스 는 Schedule(TimerTask task, Date firstTime, long period) 라는 강력한 스케줄링 방법도 제공합니다 . 이 방법을 사용하면 특정 시간과 정기적인 간격으로 시작하여 반복 실행되도록 작업을 예약할 수 있습니다. 다음은 이 메서드의 사용법을 보여주는 예입니다.import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
System.out.println("Task executed!");
}
};
// Schedule the task to run every 5 seconds starting from the current time
Date startTime = new Date();
timer.schedule(task, startTime, 5000);
}
}
이 예에서는 이전과 같이 Timer 개체를 만들고 TimerTask를 정의합니다 . 또한 작업의 시작 시간을 지정하기 위해 Date 유형의 startTime 객체를 생성합니다 . 그런 다음 스케줄 메소드를 사용하여 현재 시간부터 시작 하여 5초마다 실행되도록 작업을 예약합니다. 이 예약 방법을 사용하면 Timer 개체가 취소되거나 프로그램이 종료될 때까지 작업이 지정된 간격으로 계속 실행됩니다 . 그렇지 않으면 예외가 발생합니다.
GO TO FULL VERSION