실제로 이들의 개념은 3 가지입니까, 혼란 스럽습니까? (나는 스레딩과 가비지 컬렉션에 대한 기사를 함께 읽고 혼란스러워했습니다.)"중요 섹션", "중요 영역"및 "제한된 실행 영역"의 차이점
"중요 섹션" - 나는 이것이 다중 스레드를 원하지 않는 코드 섹션 동일한 시간, 즉 내부 잠금 및 Monitor.Enter/Exit 문에 액세스하고 있습니까?
"중요한 영역" - 여기에는 실제 단서가 없습니다. MSDN은 "이 섹션에서 던져진 예외가 더 많은 영향을 미칠 수 있음을 호스트에 알립니다"라고 말합니다. 그리고 "CLR의 호스트, 예를 들어 Sql Server"는 "다르게"중요한 영역 내에서 발생하는 예외를 처리하도록 선택할 수 있습니다. 어떻게 다르게? 그리고 왜? 무엇보다 실제 시나리오에서 코드를 중요한 영역으로 표시해야합니까?
"제한된 실행 영역" - 가비지 수집 아티클에서 CriticalFinalizerObject에 대해 읽었을 때이 문제가 발생했습니다.
나는 MSDN에서이 코드 중 하나의 코드가 어떻게 든 작동하도록 보장된다는 것을 이해할 수 있습니다. 그러나 어떻게 "out-of-band"예외를 throw하지 않아야합니다.
out-of-band exception
은 무엇입니까? (나는 이것을 Google에서했지만 "경계선 밖의 예외"를 의미 하는지를 물었다.).
처리되지 않은 예외입니까? 아니면 특정 유형의 예외입니까? 그리고 다시 한번, 무엇보다도 실제 시나리오에서 "제한된 실행 영역"이 필요할 수도 있습니다.
개념을 전혀 이해하지 못하기 때문에이 질문에 ".NET"이외의 태그가 필요한지 잘 모르겠습니다. 다음 조 더피하여 윈도우 동시 프로그래밍 따르면
크리티컬 섹션에 대한 이해가 정확하다고 확신합니다. – Brian
시작입니다 :). 나는 정확한 용어를 사용했는지 확신 할 수 없다. 잠금에 관한 기사에서 "중요 섹션"을 보았습니다. Thread.BeginCriticalRegion의 MSDN 페이지에서 "Critical Region"만 보았습니다. "제한된 실행 영역"은 MSDN 페이지가 있기 때문입니다. –