자바
데몬 스레드
정재익
2025. 8. 17. 19:43
스레드는 크게 2가지로 나눌 수 있다.
1. 사용자 스레드
2. 데몬 스레드
사용자 스레드는 우리가 보통 생각하는 스레드이고 비즈니스 로직을 처리하는 바로 그 스레드 이다. 프로그램의 주요 작업을 수행하며 작업이 완료될 때 까지 실행된다. 모든 사용자 스레드가 종료되면 JVM도 종료된다.
데몬 스레드는 백그라운드에서 보조적인 작업을 수행한다. 모든 사용자 스레드가 종료되면 데몬 스레드는 자동으로 종료된다.
JVM은 데몬 스레드의 실행 완료를 기다리지 않고 종료된다. 데몬 스레드가 아닌 모든 스레드가 종료되면, 자바 프로그램도 종료된다.
자바 프로그램이 끝난다는 거는 사용자 스레드가 종료되는 시점이다. 스레드의 종료란 각 스레드의 스택이 모두 빠져나가고 하나도 남지 않는 시점이다.