Heim  >  Artikel  >  Java  >  Was ist ein Java-Thread-Deadlock?

Was ist ein Java-Thread-Deadlock?

王林
王林nach vorne
2023-04-27 13:52:071149Durchsuche

1. Erläuterung

Thread-Sperre bedeutet, dass der wartende Thread seine Aufgabe nicht abschließen konnte, weil die zum Aufwecken erforderlichen Bedingungen nie erfüllt werden konnten oder andere Threads diesen Thread nicht aufwecken konnten und sich in einem Nicht-Aufweckmodus befanden. Ausführungsstatus (der Thread wurde nicht beendet).

2. Es gibt zwei Arten von Thread-Sperren:

(1) Signalverlustsperre: Die Signalverlustsperre liegt daran, dass kein entsprechender Benachrichtigungsthread vorhanden ist, der den wartenden Thread aufweckt, was dazu führt, dass der wartende Thread in einer Warteposition bleibt Zustand.

Ein typisches Beispiel ist, dass der wartende Thread die Schutzbedingung nicht beurteilt, bevor er Object.wait()/Condition.await() ausführt. Zu diesem Zeitpunkt wurde die Schutzbedingung möglicherweise tatsächlich eingerichtet und kein anderer Thread aktualisiert sie Danach wird die entsprechende Schutzbedingung eingerichtet und der wartende Thread benachrichtigt, wodurch der wartende Thread im Wartezustand bleibt und seine Aufgabe nicht weiter ausgeführt werden kann.

(2) Verschachtelte Monitorsperre: Die verschachtelte Monitorsperre ist ein Fehler, bei dem der wartende Thread aufgrund verschachtelter Sperren nie aktiviert werden kann.

Zum Beispiel gibt ein Thread nur die innere Sperre Y.wait() frei, nicht aber die äußere Sperre X. Der Benachrichtigungsthread muss jedoch zuerst die äußere Sperre X erhalten, bevor er den wartenden Thread über Y.notifyAll aufwecken kann () Dies führt zum Phänomen der verschachtelten Wartezeiten.

Was sind die grundlegenden Datentypen von Java?

Die grundlegenden Datentypen von Java sind unterteilt in:

1.

2. Gleitkommatyp, ein Datentyp, der zur Darstellung von Dezimalzahlen verwendet wird.

3. Das Schlüsselwort des Zeichentyps ist „char“.

4. Der boolesche Typ ist der grundlegende Datentyp, der logische Werte darstellt.

Das obige ist der detaillierte Inhalt vonWas ist ein Java-Thread-Deadlock?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen