Heim > Java > javaLernprogramm > Was ist die Lock-Schnittstelle in Java?

Was ist die Lock-Schnittstelle in Java?

PHPz
Freigeben: 2023-05-08 16:16:08
nach vorne
1105 Leute haben es durchsucht

1. Beschreibung

Bevor die Sperrschnittstelle erschien, verwendeten Java-Programme die Sperrfunktion, um die Sperrfunktion zu implementieren Eine neue Sperrschnittstelle (und zugehörige Implementierungsklassen) wird hinzugefügt, um die Sperrfunktion zu implementieren. Sie bietet eine Synchronisierungsfunktion ähnlich dem synchronisierten Schlüsselwort,

erfordert bei Verwendung nur die explizite Erfassung und Freigabe der Sperre. Obwohl es an der Bequemlichkeit des impliziten Erwerbs und Freigebens von Sperren (bereitgestellt durch synchronisierte Blöcke oder Methoden) mangelt, verfügt es über die Bedienbarkeit von Sperrenerwerb und -freigabe, unterbrechbarem Erwerb von Sperren und Timeout-Sperrenerwerb und anderer Synchronisierung Funktionen, die das synchronisierte Schlüsselwort nicht hat.

2. Hauptmethode

lock() Sperre hinzufügen

# 🎜🎜#unlock() Sperre aufheben

tryLock() Diese Methode stellt sicher, dass sich eine Sperre im entsperrten Zustand befindet, wenn sie benötigt wird. Die Rückgabe von „true“ bedeutet, dass es entsperrt ist; die Rückgabe von „false“ bedeutet, dass es gesperrt ist.

new Condition() Gibt eine Condition-Instanz der aktuellen Sperre zurück

Da es ineffizient ist, den Code jedes Mal zu sperren, war ReadWriteLock dies erweitert ,Die Implementierungsklassen umfassen hauptsächlich ReentrantReadWriteLock

Wenn wir die Sperrfunktion verwenden, führt dies aufgrund der Mängel der Synchronisierung zu einigen Unannehmlichkeiten bei der Verwendung des Konzepts der Sperrschnittstelle geboren. Man kann sagen, dass relevante technische Vorgänge bei der Erfassung und Freigabe von Sperren umgesetzt werden.

Welche Sammlungsklassen gibt es in Java? ;

4, Kartenzuordnung: Ungeordnet, der Schlüssel ist eindeutig und der Wert ist nicht eindeutig.

Das obige ist der detaillierte Inhalt vonWas ist die Lock-Schnittstelle in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage