저는 SO와 웹에서 답을 찾아 보았지만 다른 언어 (C++, python) 만 찾았으며 읽기가 명확한 대답을 제공하지 않았습니다.스레드가 죽으면 잠금 상태가됩니다.
스레드가 잠긴 코드 블록을 가지고 있고 잠긴 블록 내부에있는 동안 어떤 이유로 스레드가 죽으면 (강제로 종료 됨) 잠금이 여전히 적용됩니다 (즉, 다른 스레드는 강제로 실행되지 않습니다. 그 잠금 장치를 사용할 수 있어야합니까?)
예를 들면 : 스레드 A가 죽으면 스레드 B가 그것을 할 수있을 것이다,는 foobar 전화를 시도
class myClass {
private static object myLock = new Object();
public void foobar()
{
lock(myLock)
{
//code
}
}
}
경우? 아니면 교착 상태에 빠지겠습니까?
"나는 SO와 웹을 둘러 보았습니다."- 좋아하는 검색 엔진에서 "C# lock exception"을 찾아보십시오. – Dennis
수정 됨. 나는 이것이 복제본이라고 생각하지 않는다. 나는 예외 부분을 제거했고, 예외없이 스레드 자체가 잠금 상태에서 죽는 경우에 어떤 일이 발생하는지 더 관심이 있습니다. 스레드가 종료되면 잠금 장치가 해제됩니까? –