[Java] 데몬 스레드(보조 스레드) 사용법 & 예제
- Language/Java
- 2020. 6. 24.
스레드의 종류
스레드는 일반 스레드(Normal Thread)와 데몬 스레드(Daemon Thread) 두 가지 종류로 나눠집니다.
데몬 스레드란?
데몬 스레드는 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드입니다. 주 스레드가 종료되면 데몬 스레드는 강제적으로 자동종료됩니다. 그 이유는 주 스레드의 보조 역할을 수행하는데 주 스레드가 종료되면 데몬 스레드의 존재가 의미 없어지기 때문입니다. 이 점을 제외하면 데몬 스레드는 일반 스레드와 크게 차이는 없습니다. 이처럼 데몬 스레드는 간단히 말해 자신을 만드는 스레드의 종속되어있는 스레드라고 생각하면 되며 데몬 스레드를 만들려면 Thread 클래스의 setDaemon()에 true 값을 넣어 주면 됩니다.
간단한 예제
import java.awt.*;
public class DemonThread {
public static void main(String[] args) {
Thread thread = new Thread(() -> {
Toolkit toolkit = Toolkit.getDefaultToolkit();
for (;;) {
toolkit.beep();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread.setDaemon(true); // 데몬 스레드로 설정
thread.start();
for (int i = 0; i < 5; i++) {
System.out.println("비프음!");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
thread.setDaemon(true); // 데몬 스레드로 설정
thread.start();
위 두줄을 주석처리하고 실행 / 주석을 풀고 실행을 해보시면 어떤것이 다른지 아실 수 있으실겁니다.
'Language > Java' 카테고리의 다른 글
[Java] 자바 스트림(Stream) 사용법 & 예제 (2) | 2020.07.01 |
---|---|
[Java] 제네릭(Generic) 사용법 & 예제 총정리 (1) | 2020.06.30 |
[Java] 스레드(Thread) 안전하게 종료 시키는법 (interrupt) (1) | 2020.06.23 |
[Java] 스레드(Thread)를 잠시 일시정지 시키는 법 (sleep) (1) | 2020.06.21 |