임계 영역이란 컴퓨팅 자원 (메모리)에 한 순간에 반드시 하나의 프로세스나 스레드가 진입해야 하는 영역이다. 예를 들면 메모리의 공간 중 Heap영역은 프로세스내에서 서로 다른 스레드와 공유되는 공공간이다.

경쟁 상태

동시에 공유된 자원을 두개 이상의 프로세스나 스레드에서 읽거나 쓰는 상황을 경쟁 상태 (Race Condition)이라고 한다.

동시성 문제

경쟁 상태가 발생하여 접근하여 하나의 메모리를 수정한다면 순서에 따라 결과가 바뀌게 된다. 이를 동시성 문제라고 한다.

이러한 문제를 해결하기 위해서 세마포어(Semaphore), 뮤텍스 (Mutex), 모니터 (Monitor)라는 방법이 존재한다.