CodeGym /Java Blog /무작위의 /자바 타이머 클래스
John Squirrels
레벨 41
San Francisco

자바 타이머 클래스

무작위의 그룹에 게시되었습니다
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 개체가 취소되거나 프로그램이 종료될 때까지 작업이 지정된 간격으로 계속 실행됩니다 . 그렇지 않으면 예외가 발생합니다.

결론

java.util.Timer 패키지 의 Java Timer 클래스 는 Java 애플리케이션에서 작업을 예약하기 위한 다목적 도구입니다. 이를 통해 지정된 간격으로 코드 실행을 자동화할 수 있으므로 이벤트 트리거, 주기적인 업데이트 수행 또는 백그라운드 프로세스 예약과 같은 다양한 시나리오에 유용합니다. 이 기사에서는 Timer 객체 생성 , 지연 또는 특정 시간으로 작업 예약, 반복 실행 설정 등 Java Timer 클래스의 기본 사항을 살펴보았습니다. 또한 `schedule`, Schedule(TimerTask task, Date firstTime, long period)Timer 클래스 에서 제공하는 중요한 메소드에 대해서도 배웠습니다 . 타이머 클래스를 효과적으로 사용하면 Java 프로그램에 자동화 및 효율성 수준을 추가할 수 있습니다. 다양한 예약 옵션을 실험하고 타이머 클래스의 추가 기능을 탐색하여 애플리케이션의 기능을 향상하세요.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION