공유 상태는 원자성·가시성·순서를 따로 보장해야 한다
한 도구가 세 문제를 모두 같은 방식으로 해결한다고 가정하지 않습니다.
| 보장 | 질문 | 대표 수단 |
|---|---|---|
| 원자성 | 중간 상태가 노출되는가 | lock·atomic |
| 가시성 | 다른 thread가 최신 값을 보는가 | volatile·lock |
| 순서 | 읽기·쓰기가 어떤 관계인가 | happens-before |
| 불변식 | 여러 필드가 함께 맞아야 하나 | 같은 lock |
핵심: 먼저 보호할 불변식을 적고 그 불변식에 필요한 보장을 조합합니다.