앞서 살펴본 데몬 스레드를 확인해볼 수 있는 예제를 살펴보도록 하겠습니다. 아래의 예제는 1초 주기로 save( ) 메서드가 자동 호출되도록 AutoSaveThread를 작성하고, 메인 스레드가 3초 후 종료되면 AutoSaveThread도 같이 종료될 수 있도록 AutoSaveThread를 데몬 스레드로 만들었습니다.
// 1초 주기로 save() 메서드를 호출하는 데몬 스레드
public class AutoSaveThread extends Thread {
public void save() {
System.out.println("작업 내용 저장");
}
@Override
public void run() {
while(true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
break;
}
save();
}
}
}
public class ExampleMain {
public static void main(String[] args) {
AutoSaveThread autoSaveThread = new AutoSaveThread();
autoSaveThread.setDaemon(true);
autoSaveThread.start();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {}
System.out.println("메인 스레드 종료");
}
}
/* 출력
작업 내용 저장
작업 내용 저장
메인 스레드 종료
*/
'Programming > JAVA' 카테고리의 다른 글
멀티 스레드(8) - 스레드 그룹 1 (0) | 2024.12.18 |
---|---|
멀티 스레드(7) - 데몬 스레드 1 (0) | 2024.12.16 |
멀티 스레드(6) - 스레드 상태 제어 6 : 스레드의 안전한 종료 2 (0) | 2024.12.11 |
멀티 스레드(6) - 스레드 상태 제어 6 : 스레드의 안전한 종료 1 (1) | 2024.12.10 |
멀티 스레드(6) - 스레드 상태 제어 5 : 스레드 간 협업 3 (0) | 2024.12.09 |