In dieser Beschreibung lernen wir die folgenden Aspekte von Deadlocks in Java:
So lass uns anfangen!
Was ist ein Deadlock?
Deadlock beschreibt eine Situation, in der zwei weitere Themen versuchen, gleichzeitig auf die gleiche Ressource zuzugreifen, und infolgedessen erhält niemand die Ressource und wird schließlich für immer blockiert.
Wann und wo ein Deadlock auftreten kann
In Java kann das Deadlock -Szenario nur in der Multithread -Umgebung auftreten, in der mehr als ein Thread gleichzeitig ausgeführt wird. Darüber hinaus kann ein synchronisiertes Schlüsselwort eine Sackgasse in Java verursachen.
Aus der obigen Abbildung können wir beobachten, dass Thread1 darauf wartet, dass Thread2 die Ressourcen freigibt und umgekehrt.
Beispiele für Deadlock
Betrachten wir das untergegebene Beispiel für ein tiefes Verständnis dafür, wie ein Deadlock in Java auftritt:
öffentliche Klasse DeadlockexampleIn diesem Beispiel haben wir zwei Threads Thread1 und Thread2, beide Threads starten und rufen die Run () -Methode auf.
Im Folgenden finden Sie die Ausgabe für den obigen Snippet:
Aus dem obigen Snippet ist klar, dass beide Fäden sich gegenseitig verschlossen haben.
Wie man einen Deadlock in Java verhindern
Im Folgenden finden Sie die Liste der Vorsorge, die angenommen werden können, um einen Deadlock in Java zu vermeiden:
Abschluss
Deadlock beschreibt eine Situation, in der zwei weitere Themen versuchen, gleichzeitig auf die gleiche Ressource zuzugreifen, und infolgedessen erhält niemand die Ressource und wird schließlich für immer blockiert. In Java tritt ein Deadlock nur in der multitHhread -Umgebung auf, in der mehr als ein Thread gleichzeitig ausgeführt wird. Darüber hinaus kann ein synchronisiertes Schlüsselwort eine Sackgasse in Java verursachen. In Java kann ein Deadlock jedoch nicht vollständig gelöst werden. Er kann jedoch vermieden werden, indem einige erforderliche Vorsichtsmaßnahmen/Regeln e übernommen werden. E.G. Vermeiden Sie die Verwendung unnötiger Schlösser, verschachtelten Schlösser usw.
Dieses Schreiben enthält einen detaillierten Überblick über die Deadlocks in Java, wie Deadlocks auftreten und wie die Deadlocks in Java vermieden werden können.