728x90
데몬 : 보통 리눅스와 같은 유닉스 계열의 운영체제의 백그라운드로 동작하는 프로그램을 말한다.
데몬 Thread : 자바에서 데몬과 유사하게 동작하는 Thread
데몬 Thread는 모든 Thread(메인 Thread)가 종료되면 같이 종료된다.
// Runnable을 구현하는 DaemonThread 클래스를 작성
public class DaemonThread implements Runnable {
// 무한 루프안에서 0.5초씩 쉬면서 데몬 쓰레드가 실행중입니다를 출력하도록 run() 메소드를 작성
@Override
public void run() {
while(true) {
System.out.println("데몬 쓰레드가 실행중입니다.");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
break; //sleep하는 동안 Exception 발생시 while문 빠져나가도록 함
}
}
}
public static void main(String[] args) {
// Runnable을 구현하는 DaemonThread를 실행하기 위하여 Thread 생성
Thread th = new Thread(new DaemonThread());
// Thread에게 데몬 Thread로 설정
th.setDaemon(true);
// Thread를 실행
th.start();
// 메인 Thread가 1초뒤에 종료되도록 설정
// 데몬 Thread는 다른 Thread가 모두 종료되면 자동 종료
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("메인 쓰레드가 종료됩니다. ");
}
}
728x90
'강의 정리하기 > JAVA' 카테고리의 다른 글
람다식 (1) | 2023.03.11 |
---|---|
Thread와 상태 제어 (0) | 2023.03.11 |
Thread와 공유 객체 (0) | 2023.03.10 |
Thread (0) | 2023.03.10 |
어노테이션 (0) | 2023.03.10 |