public class Main {
public static void main(String[] args) {
Runnable demon = () -> {
for (int i = 0; i < 1000000; i++) {
System.out.println("demon");
}
};
Thread thread = new Thread(demon);
thread.setDaemon(true); // true로 설정시 데몬스레드로 실행됨
thread.start();
for (int i = 0; i < 100; i++) {
if(thread.isDaemon()) {
System.out.println("Daemontask");
}
System.out.println("Nomaltask");
}// daemon 스레드는 우선순위가 낮으므로 주 스레드인 thread가 100번 돌고 종료되면 데몬 스레드는 만번 이상 돌지 않아도 강제종료된다.
}
}
https://hbase.tistory.com/285#google_vignette
https://widevery.tistory.com/32
https://ko.wikipedia.org/wiki/%EB%8D%B0%EB%AA%AC_(%EC%BB%B4%ED%93%A8%ED%8C%85)
https://velog.io/@dev_lee/Java-%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%B2%98%EB%A6%AC-%EB%8D%B0%EB%AA%AC-%EC%8A%A4%EB%A0%88%EB%93%9CDaemon-Thread