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 ReentrantReadWriteLockWenn 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!