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

Was ist ein Java-Thread-Deadlock?

王林
Freigeben: 2023-04-27 13:52:07
nach vorne
1284 Leute haben es durchsucht

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!

Verwandte Etiketten:
Erklärung dieser Website
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
Aktuelle Ausgaben
Kann Java als Backend des Webs verwendet werden?
Aus 1970-01-01 08:00:00
0
0
0
Installieren Sie JAVA
Aus 1970-01-01 08:00:00
0
0
0
Java kann nicht installiert werden
Aus 1970-01-01 08:00:00
0
0
0
Ist das in der Java-Sprache?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage