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