공유 상태는 원자성·가시성·순서를 따로 보장해야 한다

한 도구가 세 문제를 모두 같은 방식으로 해결한다고 가정하지 않습니다.

보장질문대표 수단
원자성중간 상태가 노출되는가lock·atomic
가시성다른 thread가 최신 값을 보는가volatile·lock
순서읽기·쓰기가 어떤 관계인가happens-before
불변식여러 필드가 함께 맞아야 하나같은 lock

핵심: 먼저 보호할 불변식을 적고 그 불변식에 필요한 보장을 조합합니다.