교착 상태: 두 개 이상의 프로세스가 실행 중 리소스 경쟁으로 인한 상호 대기 현상으로, 외부 힘이 없으면 추진할 수 없습니다. 이 시점에서 시스템이 교착 상태에 있거나 시스템에서 교착 상태가 발생했으며, 이러한 상호 대기 중인 프로세스를 교착 상태 프로세스라고 합니다.
자원 점유는 상호 배타적이기 때문에, 어떤 프로세스가 자원 신청을 한 후, 관련 프로세스가 외부의 도움 없이 필요한 자원을 할당받지 못하고 계속 실행할 수 없게 되면서 특수한 현상교착 상태가 발생합니다. 실행 프로그램에서 두 개 이상의 스레드가 영구적으로 막히고 (대기 중) 각 스레드가 다른 스레드에 의해 점유되고 차단되는 리소스를 기다리고 있는 상황입니다. 예를 들어 스레드 A 가 레코드 1 을 잠그고 레코드 2 를 기다리고 스레드 B 가 레코드 2 를 잠그고 레코드 1 을 기다리면 두 스레드에서 교착 상태가 발생합니다. 컴퓨터 시스템에서 시스템의 자원 할당 정책이 적절하지 않은 경우 프로그래머가 작성한 프로그램에 오류가 있을 가능성이 더 높으며, 이로 인해 경쟁 자원이 부적절하여 프로세스가 교착 상태가 발생할 수 있습니다.
제외 방법:
1, 교착 상태에 빠진 모든 프로세스를 실행 취소합니다.
2, 교착 상태에 빠진 프로세스는 교착 상태가 존재하지 않을 때까지 하나씩 취소됩니다.
3, 교착 상태에 빠진 프로세스에서 교착 상태가 사라질 때까지 점유 자원을 하나씩 강제로 포기합니다.
4, 교착 상태 해제를 위해 교착 상태 프로세스에 할당된 충분한 자원을 다른 프로세스에서 강제로 박탈합니다.