반응형
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);
반응형
'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 |