2011-12-01 3 views
3

은행은 자원을 동적으로 할당하여 시스템을 항상 안전하게 유지하지만 스레드 중 하나가 할당 된 자원을 포기하지 않으면 (무한 루프 또는 무언가로 인해) 은행의 다른 스레드의 요구 사항을 충족시킬 수 없습니까? 이것이 교착 상태로 불릴 수 있습니까?은행가 알고리즘 관련

답변

0

은행가 알고리즘의 공식 인수에서 모든 프로그램은 유한 한 시간 후에 자원을 반환한다고 가정하므로 기술적으로이 경우는 발생할 수 없습니다 (적어도이 문제가 발생하는 수학적으로 완벽한 세상이 아닙니다. 설명되어 있습니다 ;-).

그러나 여전히 교착 상태로 간주되지 않습니다. 무한 루프로 진행되는 스레드는 리소스를 기다리지 않고 그냥 앉아있어 진도가 없습니다. 이런 유형의 문제는 간단히 말하면 .... 가장 간단한 경우 슬레 이브가 잠들기/아무것도하지 않는 무한 루프로 들어가는 경우에도 가능한 두 가지 유형의 응답 유형은 starvation and livelock입니다.이를 설명하는 공식 용어는 없습니다.