1. Was genau macht volatile? Es stellt die Sichtbarkeit sicher, wenn verschiedene Threads diese Variable bearbeiten, d. h. wenn ein Thread den Wert einer bestimmten Variablen ändert, ist der neue Wert sofort für andere Threads sichtbar. Die Atomarität ist nicht garantiert (Thread unsicher). 2. Vergleich des synchronisierten Schlüsselworts und des flüchtigen Schlüsselworts
Das flüchtige Schlüsselwort ist eine leichte Implementierung der Thread-Synchronisierung, daher ist die Leistung von flüchtig definitiv besser als die des synchronisierten Schlüsselworts. Das Schlüsselwort volatile kann jedoch nur für Variablen verwendet werden und das Schlüsselwort synchronisiert kann Methoden und Codeblöcke ändern.
(Weitere Empfehlungen für verwandte Interviewfragen: Java-Interviewfragen und -antworten)
synchronisiertes Schlüsselwort wurde nach JavaSE1.6 eingeführt, hauptsächlich einschließlich voreingenommener Sperren, die eingeführt wurden, um den durch den Erwerb von Sperren und die Freigabe von Sperren verursachten Leistungsverbrauch zu reduzieren wurde nach leichten Sperren und anderen Optimierungen erheblich verbessert. In der tatsächlichen Entwicklung gibt es noch mehr Szenarien, in denen das synchronisierte Schlüsselwort verwendet wird.
Der Multithread-Zugriff auf das Schlüsselwort volatile wird nicht blockiert, das synchronisierte Schlüsselwort kann jedoch blockieren.
Das Schlüsselwort volatile kann die Sichtbarkeit der Daten garantieren, aber nicht die Atomizität der Daten. Das synchronisierte Schlüsselwort kann beides garantieren (synchronized garantiert drei Haupteigenschaften: Atomizität, Ordnung und Sichtbarkeit).
Das flüchtige Schlüsselwort wird hauptsächlich verwendet, um die Sichtbarkeit von Variablen zwischen mehreren Threads zu lösen, während das synchronisierte Schlüsselwort die Synchronisierung des Ressourcenzugriffs zwischen mehreren Threads löst.
Verwandte Empfehlungen:
Erste Schritte mit JavaDas obige ist der detaillierte Inhalt vonVorstellungsgespräch für einen Java-Ingenieur – flüchtiges Schlüsselwort. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!