Heim  >  Artikel  >  Backend-Entwicklung  >  Das Konzept des Deadlocks und die Bedingungen des Deadlocks

Das Konzept des Deadlocks und die Bedingungen des Deadlocks

零下一度
零下一度Original
2017-06-23 16:16:222622Durchsuche

1. Das Konzept des Deadlocks

Wenn die Synchronisierung mehrerer Threads nicht richtig gestaltet ist, führt dies zu einem Deadlock. Deadlock bezieht sich auf eine Situation, in der mehrere Threads bestimmte Ressourcen gemeinsam nutzen und darauf warten, dass die anderen die Ressourcen freigeben, was dazu führt, dass das Programm stagniert.

Deadlock führt dazu, dass das Programm stagniert. Daher müssen wir beim Schreiben von Multithread-Programmen darauf achten, Deadlocks zu vermeiden. Tatsächlich ist das obige Problem leicht zu lösen, solange die beiden Threads in derselben Reihenfolge auf kritische Ressourcen zugreifen. Legen Sie das Sperrzeitlimit fest. Diese Methode kann auch verwendet werden, um Deadlocks zu vermeiden


2. Deadlock-Bedingungen

Gegenseitige Ausschlussbedingungen: Ressourcen können nicht gemeinsam genutzt, sondern nur von einem Prozess verwendet werden .

Anforderungs- und Aufbewahrungsbedingungen: Ein Prozess, der Ressourcen erhalten hat, kann erneut neue Ressourcen beantragen.

Nicht-Entzugsbedingung: Bereits zugewiesene Ressourcen können nicht gewaltsam aus dem entsprechenden Prozess entzogen werden.

Schleifenwartezustand: Mehrere Prozesse im System bilden eine Schleife, und jeder Prozess in der Schleife wartet auf die von benachbarten Prozessen belegten Ressourcen.

Das obige ist der detaillierte Inhalt vonDas Konzept des Deadlocks und die Bedingungen des Deadlocks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn