Maison >développement back-end >Tutoriel C#.Net >La notion d'impasse et les conditions d'impasse

La notion d'impasse et les conditions d'impasse

零下一度
零下一度original
2017-06-23 16:16:222675parcourir

1. Le concept de blocage

Si la synchronisation de plusieurs threads n'est pas conçue correctement, cela provoquera un blocage. Le blocage fait référence à une situation dans laquelle plusieurs threads partagent certaines ressources et attendent les uns les autres pour libérer les ressources, provoquant la stagnation du programme.

Un blocage entraînera la stagnation du programme, nous devons donc faire attention à éviter un blocage lors de l'écriture de programmes multithread. En fait, le problème ci-dessus est facile à résoudre, tant que les deux threads accèdent aux ressources critiques dans le même ordre. Définir le délai d'expiration du verrouillage. Cette méthode peut également être utilisée pour éviter les blocages


2. Conditions de blocage

Conditions d'exclusion mutuelle : les ressources ne peuvent pas être partagées, uniquement utilisées par un processus. .

Conditions de demande et de rétention : Un processus qui a obtenu des ressources peut à nouveau solliciter de nouvelles ressources.

Condition de non-privation : les ressources déjà allouées ne peuvent pas être privées de force du processus correspondant.

Condition d'attente de boucle : plusieurs processus dans le système forment une boucle, et chaque processus de la boucle attend les ressources occupées par les processus adjacents.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn