공유 자원 여러 스레드가 동시에 접근할 수 있는 자원 임계 영역 공유 자원들 중 여러 스레드가 동시에 접근했을 때 경쟁 상태 문제가 생길 수 있는 영역 경쟁 상태 둘 이상의 스레드가 공유 자원을 동시에(병행적으로) 읽거나, 쓰는 동작을 수행할 때, 실행하거나 접근했을 때의 타이밍이나 접근 순서에 따라 실행 결과가 달라지는 문제 경쟁 상태 대표적으로 두가지의 패턴의 상황에서 발생한다. 패턴 1. Read - Modify - Write 아래 예제를 보면, cnt라는 변수의 값이 increase() 메소드를 통해 1씩 증가한다. 이 메소드를 100개의 요청이 동시에 수행된다면 우리가 기대하는 값은 100이다. public int cnt; public void increase(){ cnt++; } 하지만, 실제..