> 백엔드 개발 > C#.Net 튜토리얼 > C#의 교착 상태 및 기아 상태

C#의 교착 상태 및 기아 상태

PHPz
풀어 주다: 2023-09-21 16:33:03
앞으로
887명이 탐색했습니다.

C# 中的死锁和饥饿

한 스레드에 의해 리소스가 잠기고 동시에 다른 스레드가 해당 리소스를 요구하면 교착 상태가 발생합니다. 이 문제는 다중 처리 시스템에서 자주 발생합니다.

이 문제는 두 개 이상의 스레드가 다른 스레드에 속한 리소스를 기다리고 있을 때 발생할 수 있습니다. 다음은 예입니다.

tr>
스레드 1 스레드 2
잠금 P 가져오기 잠금 Q 가져오기
잠금 Q 요청 잠금 P 요청

스레드 하나 아니오 잠금 Q는 스레드 2에 속하므로 획득됩니다. 마찬가지로 스레드 2는 원래 소유자가 스레드 1이었으므로 잠금 P를 획득하지 않습니다.

교착 상태는 3방향 교착 상태일 수도 있는데, 이는 3개의 스레드와 3개의 잠금이 공통되는 경우에 발생합니다. 마찬가지로 4방향, 5방향 및 기타 교착 상태가 발생할 수 있습니다.

기아 상태는 다중 스레드 애플리케이션에서 하나 이상의 실행 가능한 스레드를 영구적으로 차단하는 것입니다.

위 내용은 C#의 교착 상태 및 기아 상태의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿