-
데몬 쓰레드(daemon thread)공부/Java 2024. 5. 9. 16:31
데몬 쓰레드(daemon thread)
- 일반 쓰레드(non-daemon thread)의 작업을 돕는 보조적인 역할을 수행
- 일반 쓰레드가 모두 종료되면 자동적으로 종료된다. (보조할 쓰레드가 사라짐)
- 가비지 컬렉터, 자동저장, 화면 자동갱신 등에 사용된다.
- 무한루프와 조건문을 이용해서 실행 후 대기하다가,
특정조건이 만족되면 작업을 수행하고 다시 대기하도록 작성한다.
※ setDaemon(boolean on)은 반드시 start()를 호풀하기 전에 실행되어야 한다.
그렇지 않으면 IllegalThreadStateException이 발생한다.
예제
public void run() { while(true) { try { Thread.sleep(3 * 1000); // 3초마다 } catch(InterruptedException e) {} // autoSave의 값이 true면 autoSave() 호출 if(autoSave) autoSave(); } }
위 예제는 3초마다 autoSave의 값이 true일 때, autoSave()를 호출하는 데몬 쓰레드다.
무한루프여도 이건 데몬 쓰레드기 때문에 일반 쓰레드가 종료되면 자동적으로 종료된다.
'공부 > Java' 카테고리의 다른 글
sleep(), interrupt() (0) 2024.05.10 쓰레드의 상태와 실행제어 (0) 2024.05.09 쓰레드 그룹 (0) 2024.05.08 쓰레드의 우선순위 (0) 2024.05.08 싱글쓰레드와 멀티쓰레드 (0) 2024.05.07