교착상태란? - 1번째 스레드는 2번째 쓰레드가 들고 있는 객체의 락이 풀리기를 기달리고, 2번째 쓰레드도 1번째 쓰레드가 들고 있는 객체의 락이 풀리기를 기다리는 상황. - 즉, 모든 쓰레드가 "무한 대기 상태" 교착상태의 4가지 조건 1. 상호배제 : 한번에 한 프로세스만 공유 자원 사용. 공유 자원에 대한 접근 권한이 제한된다. 자원 양이 제한되어 있어도 교착상태 발생 가능. 2. Hold and Wait(점유대기) : 공유 자원에 접근권한을 가진 프로세스가 양보하지 않고 갖고 있는 상태로 다른 자원 접근 권한 요구. 3. 선취(비선점) : 한 프로세스가 다른 프로세스의 자원 접근 권한을 강제로 취소할 수 없다. 4. Circular Wait(순환대기) : 두 개 이상의 프로세스가 자원 접근을 기다..