Maison > Java > javaDidacticiel > Analyse comportementale du saut de file d'attente sous différents modes de verrouillage en Java.

Analyse comportementale du saut de file d'attente sous différents modes de verrouillage en Java.

PHPz
Libérer: 2023-04-23 09:13:17
avant
1248 Les gens l'ont consulté

1. ReentrantReadWriteLock peut définir le mode de verrouillage équitable et le mode de verrouillage injuste.

// 公平锁模式
ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
//非公平锁模式 默认情况
ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(false);
Copier après la connexion

Avant d'obtenir le verrou équitable, vérifiez la méthode readerShouldBlock() Avant d'obtenir le verrou en écriture, vérifiez d'abord la méthodewriterShouldBlock(), puis décidez si vous devez mettre en file d'attente ou sauter dans la file d'attente.

2. En mode de verrouillage injuste,writerShouldBlock() et readerShouldBlock() implémentent

final boolean writerShouldBlock() {
    return false; // writers can always barge
}
final boolean readerShouldBlock() {
    return apparentlyFirstQueuedIsExclusive();
}
Copier après la connexion

unfair lock pour sauter dans la file d'attente lors de l'obtention du verrou en écriture. Utilisez les décisions politiques lors de la lecture des verrous.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Impossible d'installer Java
Depuis 1970-01-01 08:00:00
0
0
0
Java peut-il être utilisé comme backend du Web ?
Depuis 1970-01-01 08:00:00
0
0
0
Installer JAVA
Depuis 1970-01-01 08:00:00
0
0
0
Aide : Données chiffrées JAVA Décryptage PHP
Depuis 1970-01-01 08:00:00
0
0
0
Est-ce en langage Java ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal