JAVA/Thread

JAVA 데몬 스레드 소개

반응형


데몬 쓰레드는 다른 일반 쓰레드의 작업을 돕는 보조적인 역할을 수행하는 쓰레드이다.


boolean isDeaemon() 쓰레드가 daemon 쓰레드 인지 확인

void setDaemon(boolean on) 쓰레드를 데몬 쓰레드로 또는 사용자 쓰레드로 변경한다. 



자동저장 쓰레드 프로그래밍



package javas;


import javax.swing.JOptionPane;


public class Thread1 {

static boolean autoSave = false;


public static void main(String args[]) {

Runnable r = new Thread_1();


Thread t1 = new Thread(r);

t1.setDaemon(true);

t1.start();


for (int i = 0; i <= 20; i++) {

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

}

System.out.println(i);


if (i == 5)

autoSave = true;

}

}

}


class Thread_1 implements Runnable {

public void run() {

while (true) {

try {

Thread.sleep(5 * 1000);

} catch (InterruptedException e) {

}


if (Thread1.autoSave) {

autosave();

}

}

}


public void autosave() {

System.out.println("작업파일이 자동 저장 되었습니다.");

}

}



※주의

데몬 프로세스는 프로세스가 start되기전에 setDaemon이 되어야 한다

그렇지 않으면 IllegalThreadStateException이 발생한다.


반응형

'JAVA > Thread' 카테고리의 다른 글

멀티 스레드  (0) 2016.12.21
쓰레드 개념정리  (0) 2016.12.21
synchronized 쓰레드 예제 프로그래밍  (0) 2016.12.21
Thread wait(), notify() 소개  (0) 2016.12.21
Thread 크리티컬 세션  (0) 2016.12.21