Heim  >  Artikel  >  Java  >  Welche Möglichkeiten gibt es, Lock in Java zu verwenden?

Welche Möglichkeiten gibt es, Lock in Java zu verwenden?

王林
王林nach vorne
2023-04-23 20:52:051861Durchsuche

1. Funktion

(1) Die Lock-Methode unterstützt Unterbrechungen, keine Erfassung nach Zeitüberschreitung und ist nicht blockierend

(2) Verbesserte Semantik, wo gesperrt und entsperrt werden soll, muss ausgeschrieben werden

(3)Sperren Eine explizite Sperre kann uns gute Flexibilität bringen, aber gleichzeitig müssen wir die Sperre manuell aufheben

(4) Bedingungsbedingungsobjekt unterstützen

(5) Erlauben Sie mehreren Lesethreads gleichzeitig den Zugriff auf gemeinsam genutzte Ressourcen

2 . Sperrenverwendung

// 获取锁  
void lock()   
 
// 如果当前线程未被中断,则获取锁  
void lockInterruptibly()   
 
// 返回绑定到此 Lock 实例的新 Condition 实例  
Condition newCondition()   
 
// 仅在调用时锁为空闲状态才获取该锁  
boolean tryLock()   
 
// 如果锁在给定的等待时间内空闲,并且当前线程未被中断,则获取锁  
boolean tryLock(long time, TimeUnit unit)   
 
// 释放锁  
void unlock()

lock(), tryLock(), tryLock(long time, TimeUnit-Einheit) und lockInterruptably() werden zum Erlangen von Sperren verwendet. Zum Aufheben der Sperre wird die Methode unLock() verwendet. Die Methode newCondition() wird für die Kommunikation zwischen Threads verwendet.

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Lock in Java zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen