교착 상태 피해자 란 무엇입니까?

교착 상태 피해자는 서버에 연결된 클라이언트 역할을하는 컴퓨터 사용자로, 서버 호스트가 교착 상태를 해결하기 위해 종료하기로 선택한 연결입니다. 이 유형의 교착 상태는 종종 두 개의 서로 다른 프로세스가 동일한 자원을 사용하려고 할 때 발생하며 이로 인해 두 프로세스가 모두 잠 깁니다. 이 문제를 해결하기 위해 많은 서버 데이터베이스 시스템이 교착 상태 발생시기를 감지 한 후 두 프로세스 중 하나의 연결을 종료하도록 선택할 수 있습니다. 교착 상태 피해자는 프로그램에서 임의로 선택할 수 있지만 사용자는 일반적으로 시스템에 가장 쉽게 다시 연결할 수있는 사용자로 선택됩니다.

"교착 상태 피해자"라는 용어는 일반적으로 연결이 종료 될 때 시스템에 의해 사용자에게 표시되는 오류 또는 예외 메시지에서 사용됩니다. 이 오류는 일반적으로 교착 상태라고하는 상황에서 발생합니다. 일반적으로 교착 상태는 서버에 연결된 두 명의 사용자가 시스템에서 잠금을 생성하는 방식으로 동일한 자원에 액세스하려고 할 때 발생합니다. 예를 들어, 사용자 A가 자원 1을 사용하고 자원 2도 사용해야하는 경우, 사용자 B가 자원 2를 사용하고 자원 1도 사용해야하는 경우 사용자가 프로세스를 완료 할 수 없기 때문에 교착 상태가 발생합니다.

이 예에서 교착 상태 피해자가 시스템에 의해 두 사용자 중 하나가 선택되고 서버와의 연결이 종료됩니다. 이 문제가 발생하면 다른 사용자가 프로세스를 완료하여 교착 상태를 끝내고 교착 상태 피해자가 서버에 다시 연결할 수 있습니다. 대부분의 서버 데이터베이스 프로그램은 교착 상태 감지 기능을 갖추고 있으며 일반적으로 일정 시간이 지나면 교착 상태를 감지합니다. 교착 상태가 반드시 주요 문제는 아니지만 사용자, 특히 교착 상태 피해자로 선택된 사용자에게는 성가신 일이 될 수 있으며 서버 데이터베이스 프로그래밍에서 하나 이상의 실수를 나타냅니다.

서버가 교착 상태 피해자를 선택하는 방법은 다양 할 수 있습니다. 일부 프로그램은 순전히 무작위로 피해자를 선택합니다. 이 방법은 상당히 효과적 일 수 있지만 어떤 선택을해도 솔루션과 교착 상태가 종료되므로 항상 이상적인 방법은 아닙니다. 일반적으로 서버는 두 명의 사용자를 평가하여 가장 쉽게 다시 연결할 수있는 사람이나 연결 끊김으로 인해 가장 적은 양의 데이터를 잃을 사람을 선택하도록 프로그램되어 있습니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?