여러 스레드가 공유자원에 접근할 때, 특정 스레드가 자원을 할당 받았을 때 해당 자원에 대한 lock 처리를 통해 경쟁문제 방지와 데이터 일관성을 유지하기 위한 동기화 메커니즘
특정 스레드가 Mutex을 획득 하게되면(lock) 다른 스레드는 Mutex를 획득한 스레드가 Mutex를 버릴 때(unlock)까지 대기하는 동기화 메카니즘
여러 스레드가 접근 할 수 있는 자원의 수를 나타냄, 자원을 획득하게 되면 세마포어의 값을 감소시키고 0인 경우 자원을 획득한 스레드가 자원을 버리기 전까지 대기하는 메카니즘
멀티 스레드, 프로세스 환경에서 특정 스레드, 프로세스가 자원을 독점하고 있어서 무한 대기하다가 시스템이 멈춰버리는 현상을 뜻함
자원 독점 + 비선점(자원 탈취 불가) + 보유와 대기 + 순환대기 일 경우 데드락이 걸림
자원 할당의 우선순위 설정 or 자원 할당 순서를 통일 시켜 데드락 현상을 대비한다.