교착 상태 문제를 디버깅 중이며 호출 스택은 스레드가 일부 이벤트를 기다리고 있음을 보여줍니다.크리티컬 섹션 부정적인 락 카운트
코드는 동기화 기본 요소로 임계 구역을 사용합니다. 여기에 몇 가지 문제가 있다고 생각합니다. 또한 디버거가 다른 스레드가 소유 한 중요 섹션을 가리키고 있지만 잠금 개수는 -2입니다. 내 이해에 따라 잠금 개수> 0은 중요 섹션이 하나 이상의 스레드에 의해 잠겨 있음을 의미합니다.
그래서 교착 상태의 범인이 될 수있는 오른쪽 중요한 부분을 볼 가능성이 있습니다.
중요한 섹션의 음수 잠금 개수는 어떤 시나리오에서 발생할 수 있습니까?
레이몬드 첸 (Raymond Chen)은 CS를 입력하는 것보다 더 많은 시간을 남겨 두었을 때의 결과에 관한 글을 방금 작성했습니다. 그리고 처음 세 댓글은 읽을만한 가치가 있습니다 ... http://blogs.msdn.com/oldnewthing/archive/2009/06/19/9777996.aspx – eran