Backend/자바
[Java] 보조 역할을 수행하는 데몬(Daemon) 스레드
Gaejirang-e
2023. 8. 13. 21:02

𐂂 데몬 스레드
주 스레드의 작업을 돕는 보조 역할 스레드
주 스레드가 종료되면 자동종료, TERMINATED.
스레드를 데몬으로 만들기 위해서,
주 스레드에서 해당 스레드 객체를 만들어 setDaemon(true);를 호출하면 된다.
🎯 목적: 자동저장 .. 등에 쓰인다.
주 스레드가 종료되면 자동종료, TERMINATED.
스레드를 데몬으로 만들기 위해서,
주 스레드에서 해당 스레드 객체를 만들어 setDaemon(true);를 호출하면 된다.
🎯 목적: 자동저장 .. 등에 쓰인다.
📜 AutoSaveThread.java
public class AutoSaveThread extends Thread {
public void save() {
System.out.pritnln("작업 내용을 저장함.");
}
@Override
public void run() {
while(true) {
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
break;
}
save();
}
}
}
📜 DaemonExample.java
public class DaemonExample {
public static void main(String[] args) {
AutoSaveThread daemonThread = new AutoSaveThread();
daemonThread.start();
try {
Thread.sleep(3000);
} catch(InterruptedException e) { }
System.out.println("주(메인) 스레드 종료");
//작업 내용을 저장함.
//작업 내용을 저장함.
//주(메인) 스레드 종료
}
}
🦉 코드 설명
주 스레드: main 메서드
데몬 스레드: AutoSaveThread.run 메서드
➡️ main 메서드에서 자동저장을 위한 데몬 스레드를 만들고 설정해준다.
주 스레드인 main 메서드는 3초후에 텍스트를 출력한뒤 끝나기 때문에,
데몬 스레드도 처음 1초뒤에 텍스트를 출력하고 이를 두번까지 반복하고
메인 스레드가 끝남과 동시에 끝난다.
주 스레드: main 메서드
데몬 스레드: AutoSaveThread.run 메서드
➡️ main 메서드에서 자동저장을 위한 데몬 스레드를 만들고 설정해준다.
주 스레드인 main 메서드는 3초후에 텍스트를 출력한뒤 끝나기 때문에,
데몬 스레드도 처음 1초뒤에 텍스트를 출력하고 이를 두번까지 반복하고
메인 스레드가 끝남과 동시에 끝난다.