본문 바로가기
프로그래밍 언어/Java

[자바/Java] 타이머로 지연 실행하고 반복 실행하기

by 연구자 공학코드 2022. 12. 13.

공지사항

  1. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

필요성

특정 연산을 너무 자주 수행하여 리소스가 낭비되는 것을 해소하기 위해서 혹은 시간적으로 동기화를 수행해야 하는 경우에 자바의 Timer 클래스를 활용할 수 있다.

지연 실행 방법

아래의 소스 코드에서 run 메소드 안에 수행할 내용을 입력하고 schedule 메소드를 호출할 때 두 번째 인자 값에 지연시킬 시간을 밀리초(ms) 단위로 입력한다.

Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
    @Override
    public void run() {
		// 동작할 내용
    }
};
timer.schedule(timerTask, 1000);

지연 실행 예제 코드

예제 소스 코드 주소: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/timer/TimerDelayExample.java

지연 실행 예제 소스 화면
실행 결과

반복 실행 방법

아래의 소스 코드에서 run 메소드 안에 수행할 내용을 입력하고 schedule 메소드를 호출할 때 두 번째 인자 값에 지연시킬 시간을 밀리초(ms) 단위로 입력하고 세 번째 인자 값에 반복 수행 간격을 밀리초 단위로 입력한다.

Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
    @Override
    public void run() {
		// 반복 동작할 내용
    }
};
timer.schedule(timerTask, 0, 1000);

반복 실행 예제 코드

예제 소스 코드 주소: https://github.com/EngineeringCode/study-java/blob/main/src/com/hcpark1993/example/timer/TimerIntervalExample.java

반복 실행 예제 화면
실행 결과

참고문서

[1] "Timer 클래스", JDK 8 문서, 오라클. @원문보기

728x90
반응형

댓글