자바 웹 개발자가 될거야/JAVA
[JAVA] 데몬스레드
whitz
2021. 12. 9. 12:17
< 데몬 스레드 >
- 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드
- 메인 스레드 종료하면 데몬 스레드도 같이 종료
① setDamon(true)
- 데몬 스레드로 만들기 위해서 주 스레드가 데몬이 될 스레드를 호출하면 된다
- start() 메소드 호출 전에 setDamon(true)를 호출해야 한다
② 예제
- 1초 주기로 save() 메소드 자동 호출하도록 AutoSaveThread 작성하고
- 메인 스레드가 3초 후 종료되면 AutoSaveThread도 같이 종료되도록 데몬 스레드를 만듦
public class DemonExample {
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("메인 스레드 종료");
}
}
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();
}
}
}