CH15-2 · DECISION

동기화와 공유 상태의 선택 기준을 나란히 비교한다

비교 항목: 경쟁 조건은 실행 순서에 따라 결과가 달라진다 / Atomic 클래스는 단일 변수의 원자 연산을 제공한다 / Concurrent 컬렉션은 순회 계약도 다르다

동기화와 공유 상태 판단표
확인 질문판단 근거코드에서 드러낼 것
경쟁 조건은 실행 순서에 따라 결과가 달라진다두 스레드가 같은 이전 값을 읽으면 증가 하나가 사라질 수 있습니다.타입과 시작값
Atomic 클래스는 단일 변수의 원자 연산을 제공한다AtomicInteger의 incrementAndGet처럼 한 변수의 갱신에는 적합하지만 여러 필드 불변식은 별도 락이나 불변 상태 교체가 필요합니다.실패 또는 변경 경계
Concurrent 컬렉션은 순회 계약도 다르다동시 변경을 허용하는 대신 스냅샷이나 약한 일관성 등 구현별 순회 의미를 가집니다.선택한 규칙의 결과

선택 기준 동시 변경을 허용하는 대신 스냅샷이나 약한 일관성 등 구현별 순회 의미를 가집니다.