daemon 저장 작업이 완료를 보장하지 못하는 이유

user thread가 사라진 순간 background 작업의 진행 가능성을 추적한다.

1

main 실행

user thread alive

JVM 유지

2

daemon 대기

save latch WAITING

완료 전

3

main 반환

user thread 0개

종료 조건

4

JVM 종료

daemon finally도 생략 가능

data loss

핵심: 필수 저장은 user 실행 흐름과 명시적 join 또는 shutdown으로 회수한다.