Maison  >  Article  >  développement back-end  >  Impasse et famine en C#

Impasse et famine en C#

PHPz
PHPzavant
2023-09-21 16:33:03812parcourir

C# 中的死锁和饥饿

Un blocage se produit lorsqu'une ressource est verrouillée par un thread et qu'en même temps un autre thread requiert la ressource. Ce problème se produit fréquemment dans les systèmes multitraitements.

Ce problème peut survenir lorsque deux threads ou plus attendent une ressource appartenant à un autre thread. Voici un exemple -

tr>
Fil un Fil deux
Obtenez le verrou P Obtenez le verrou Q
Demander le verrou Q Demander le verrou P

Thread un non Le verrou Q sera acquis car il appartient au thread deux. De même, le thread deux n’obtiendra pas le verrou P car son propriétaire d’origine était le thread un.

Une impasse peut également être une impasse à trois voies, ce qui se produit si trois threads et trois verrous sont communs. De même, des blocages à quatre, cinq voies et autres peuvent survenir.

La famine est le blocage permanent d'un ou plusieurs threads exécutables dans une application multithread.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer