공유 불변식의 범위에 맞춰 동기화 도구를 고른다
단일 flag와 여러 필드의 계좌 상태는 필요한 보호 범위가 다릅니다.
| 상태 | 필요 보장 | 선택 |
|---|---|---|
| 중단 flag | 가시성 | volatile |
| 단일 카운터 | 원자 갱신 | AtomicInteger |
| 잔액 검증+차감 | 복합 원자성 | synchronized·Lock |
| 완료 결과 | publication | join·Future |
| 불변 객체 | 안전한 공개 | final·copy |
핵심: 지역 변수는 thread별 stack에 머물지만 참조가 가리키는 객체는 공유될 수 있습니다.