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!