Heim > Java > javaLernprogramm > Verhaltensanalyse des Warteschlangenspringens unter verschiedenen Sperrmodi in Java.

Verhaltensanalyse des Warteschlangenspringens unter verschiedenen Sperrmodi in Java.

PHPz
Freigeben: 2023-04-23 09:13:17
nach vorne
1325 Leute haben es durchsucht

1. ReentrantReadWriteLock kann den fairen Sperrmodus und den unfairen Sperrmodus festlegen.

// 公平锁模式
ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
//非公平锁模式 默认情况
ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(false);
Nach dem Login kopieren

Bevor Sie die Fair-Sperre erhalten, überprüfen Sie die Methode „readerShouldBlock()“ Bevor Sie die Schreibsperre erhalten, überprüfen Sie zuerst die Methode „writerShouldBlock()“ und entscheiden Sie dann, ob Sie in die Warteschlange einsteigen oder in die Warteschlange springen möchten.

2. Im unfairen Sperrmodus implementieren WriterShouldBlock() und ReaderShouldBlock()

final boolean writerShouldBlock() {
    return false; // writers can always barge
}
final boolean readerShouldBlock() {
    return apparentlyFirstQueuedIsExclusive();
}
Nach dem Login kopieren

unfaire Sperre, um in die Warteschlange zu springen, wenn sie die Schreibsperre erhalten. Verwenden Sie Richtlinienentscheidungen beim Lesen von Sperren.

Das obige ist der detaillierte Inhalt vonVerhaltensanalyse des Warteschlangenspringens unter verschiedenen Sperrmodi in Java.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Aktuelle Ausgaben
Kann Java als Backend des Webs verwendet werden?
Aus 1970-01-01 08:00:00
0
0
0
Installieren Sie JAVA
Aus 1970-01-01 08:00:00
0
0
0
Java kann nicht installiert werden
Aus 1970-01-01 08:00:00
0
0
0
Ist das in der Java-Sprache?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage