데몬 스레드
-주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드
-주 스레드가 종료되면 데몬 스레드는 강제적으로 자동 종료한다.
ex) 워드프로세서의 자동저장 : 워드프로세서를 실행하는 주 스레드가 종료되면, 자동저장되는 데몬 스레드도 종료
미디어플레이어의 동영상 및 음악 재생 : 미디어플레이어를 실행하는 주 스레드가 종료되면 동영상과 음악 재생하는 데몬스레드도 종료
가비지 컬렉터 : JVM이 실행하고 있을 동안에만 가비지 컬렉터가 실행되는 것이다. JVM이 실행하는 메인스레드가 종료되면 gc도 종료
데몬 스레드 설정
-주 스레드가 데몬이 될 스레드의 setDaemon(true)를 호출
public static void main(String[] args) {
AutoSaveThread thread = new AutoSaveThread();
thread.setDaemon(true);
thread.start();
}
메인 스레드안에서 AutoSaveThread의 객체를 만들고, 메인스레드 안에서 AutoSaveThread의 setDaemon(true)를 호출한다.
*반드시 start()메소드 호출하기 전에 setDaemon(true)를 호출해야 한다.
그렇지 않으면 IllegalThreadStateException이 발생한다.
데몬 스레드인지 확인하는 방법은 isDaemon()메소드의 리턴값을 조사하면 된다.
본 포스팅은 이것이 자바다 책을 참고하여 작성하였습니다.
'Java 공부' 카테고리의 다른 글
12장 스레드풀(1) (0) | 2018.12.09 |
---|---|
12장 스레드 그룹 (0) | 2018.12.09 |
12장 스레드 상태 제어(2) (0) | 2018.12.07 |
12장 스레드 상태 제어(1) (0) | 2018.12.03 |
12장 스레드 상태 (0) | 2018.12.03 |