- 메인 스레드 종료 시 강제종료되는 스레드
- 어떤 스레드에서 실행되는 코드가 새로운 Thread 객체를 생성할 때
- 새로운 스레드의 우선순위는 처음에 생성 스레드의 우선순위와 동일하게 설정
- 생성 스레드가 데몬인 경우에 그 스레드는 데몬 스레드가 됨
- JVM 시작시, 대게 single non-daemon thread 가 있음
- JVM이 부팅되면 “메인 스레드” 하나를 만들어서
main() 메서드를 실행
- 이 스레드는 일반적으로 지정된 클래스의 main이라는 메서드를 호출합니다.
- JVM은 스레드들을 계속 실행시킴. 다음의 현상이 발생할 때 까지
- Runtime.exit() 호출
Runtime클래스의 exit메서드가 호출하고, 시큐리니 매니저가 이 익싯 오퍼레이션이 발동하는걸 허락했을 때
- 모든 non-daemon 스레드 종료
run() 다 실행하고 리턴
run() 안에서 예외 발생
- 데몬 스레드만 있으면 JVM은 죽음.
thread.setDeamon(true) 로 두면 메인 스레드 죽으면 같이 죽음
- 데몬스레드== 워커스레드로 생각하며되는듯