경쟁 조건은 실행 순서에 따라 결과가 달라진다
두 스레드가 같은 이전 값을 읽으면 증가 하나가 사라질 수 있습니다.
여러 스레드가 같은 가변 상태를 읽고 쓰면 한 줄 연산도 여러 단계로 나뉘어 경쟁할 수 있습니다.
두 스레드가 같은 이전 값을 읽으면 증가 하나가 사라질 수 있습니다.
상태 확인과 변경을 같은 락 아래 두고 락 객체를 외부에 노출하지 않습니다.
lock 뒤에는 반드시 finally에서 unlock합니다.
핵심 경계 두 스레드가 같은 이전 값을 읽으면 증가 하나가 사라질 수 있습니다.