CH15-2 · MODEL

동기화와 공유 상태: 먼저 구분할 경계

여러 스레드가 같은 가변 상태를 읽고 쓰면 한 줄 연산도 여러 단계로 나뉘어 경쟁할 수 있습니다.

핵심 경계

경쟁 조건은 실행 순서에 따라 결과가 달라진다

두 스레드가 같은 이전 값을 읽으면 증가 하나가 사라질 수 있습니다.

핵심 경계

synchronized는 같은 모니터의 임계 구역을 직렬화한다

상태 확인과 변경을 같은 락 아래 두고 락 객체를 외부에 노출하지 않습니다.

핵심 경계

Lock은 타임아웃과 조건 등 명시 제어를 제공한다

lock 뒤에는 반드시 finally에서 unlock합니다.

핵심 경계 두 스레드가 같은 이전 값을 읽으면 증가 하나가 사라질 수 있습니다.