스레드객체.setDaemon(true);
스레드객체.start();
T09_ThreadDaemon
public class T09_ThreadDaemon {
public static void main(String[] args) {//메인스레드, AutoSaveThread스레드
Thread autoSave = new AutoSaveThread();
//데몬스레드로설정하기 => start()메서드 호출 전에 설정해야 한다.
autoSave.setDaemon(true);// -> 이 설정을 안하면 '일반 스레드' 하면 '데몬 스레드'
autoSave.start();
try { //메인쓰레드가 1초에 한번씩 for문 찍음
for(int i=1; i<=20; i++) { // 작업 20에 메인(일반)쓰레드 죽고 데몬스레드 죽음
System.out.println("작업 "+i);
Thread.sleep(1000);
}
}catch (InterruptedException ex) {
ex.printStackTrace();
}
System.out.println("메인쓰레드 종료...");
}
}
자동 저장하는 쓰레드(3초에 한번씩 저장하기)
class AutoSaveThread extends Thread{
public void save() {
System.out.println("작업 내용을 저장합니다...");
}
@Override
public void run() {
while(true) {
try {
Thread.sleep(3000);//3초
} catch (InterruptedException e) {
e.printStackTrace();
}
save();//저장기능 호출 -> 3초에 한번씩 save()호출
}
}
}