본문 바로가기

dev/java 배포

java 실행 스케줄러 #003

반응형

java scheduler run, java scheduler 실행

jar scheduler 실행
import java.time.LocalDateTime;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class Main {
    public static void main(String[] args) {

        ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();

        Runnable task = () -> {

            System.out.println("Hello and welcome! >>> " + LocalDateTime.now());

            for (int i = 1; i <= 3; i++) {

                System.out.println("i = " + i);
            }
        };

        scheduler.scheduleAtFixedRate(task, 0, 5, TimeUnit.SECONDS);

        try {
            Thread.sleep(Long.MAX_VALUE);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        } finally {
            scheduler.shutdown();
        }

    }
}

 

  • 지정된 시간마다 실행할 수 있는 클래스
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();

 

  • Runnable은 자바에서 스레드로 실행할 작업을 정의하는 함수형 인터페이스
  • 스레드에서 실행할 내용을 정의하는 함수
Runnable task = () -> {
	// 람다식
}

 

  • Runnable에서 작성한 함수를 0초 후에 실행 5초마다 반복 실행
scheduler.scheduleAtFixedRate(task, 0, 5, TimeUnit.SECONDS);

2025.04.29 - [dev/java 배포] - [JAVA] ScheduledExecutorService.scheduleAtFixedRate

 

[JAVA] ScheduledExecutorService.scheduleAtFixedRate

JAVA 스케줄scheduleAtFixedRateRunnable task = () -> { System.out.println("Hello and welcome! >>> " + LocalDateTime.now());};ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();scheduler.scheduleAtFixedRate(task, 0, 5, TimeU

st-d.tistory.com

2025.04.29 - [dev/java 배포] - [JAVA] TimeUnit

 

[JAVA] TimeUnit

TimeUnitTimeUnit은 시간 단위를 표현하는 Enum입니다. (java.util.concurrent.TimeUnit) 어떤 값이 몇 초, 분, 밀리초 등으로 해석될지를 정할 때 사용합니다.값의미설명예시NANOSECONDS나노초10억분의 1초아주 짧

st-d.tistory.com

 

  • 메인 스레드 대기 시간입니다.
  • Long.MAX_VALUE : 대기시간을 최대로 잡아 프로그램이 종료되지 않도록 설정
Thread.sleep(Long.MAX_VALUE);

 

5초 마다 실행 스케줄러

 

반응형

'dev > java 배포' 카테고리의 다른 글

java 텍스트 file 읽기 #006  (0) 2025.05.01
java properties 조회 #005  (0) 2025.04.29
[JAVA] TimeUnit  (0) 2025.04.29
[JAVA] ScheduledExecutorService.scheduleAtFixedRate  (0) 2025.04.29
java 실행 jar 배포 #002  (0) 2025.04.29