1. Description
Avant l'apparition de l'interface de verrouillage, les programmes Java s'appuyaient sur le mot-clé synchronisé pour implémenter la fonction de verrouillage. Après Java SE 5, l'interface de verrouillage (et les classes d'implémentation associées) ont été ajoutées au package de concurrence pour implémenter les verrous. ., il fournit des fonctions de synchronisation similaires au mot-clé synchronisé,
ne nécessite que l'acquisition et la libération explicites des verrous lors de son utilisation. Bien qu'il lui manque la commodité de l'acquisition et de la libération implicites des verrous (fournies par des blocs ou des méthodes synchronisés), il offre l'opérabilité de l'acquisition et de la libération des verrous, de l'acquisition interruptions des verrous et de l'acquisition des verrous avec expiration du délai, etc. Fonctionnalités de synchronisation que le mot-clé synchronisé n'a pas.
2. Méthode principalelock()
Ajouter un verrou
unlock()Libérer le verrou
tryLock()Cette méthode garantit que lorsqu'un verrou est nécessaire, il est dans un état déverrouillé. Renvoyer true signifie qu'il est déverrouillé ; renvoyer false signifie qu'il est verrouillé.
new Condition()Renvoie une instance Condition du verrou actuelParce qu'il est inefficace de verrouiller le code à chaque fois, ReadWriteLock a été étendu. La classe d'implémentation inclut principalement ReentrantReadWriteLock
Lorsque nous utilisons la fonction de verrouillage, en raison. à synchronisé Les lacunes apporteront quelques désagréments d'utilisation. Dans la nouvelle version Java, le concept d'interface de verrouillage a été réalisé. On peut dire que les opérations techniques associées sont mises en œuvre dans l'acquisition et la libération des verrous.
Quelles sont les classes de collection en Java ?
1. Liste : ordonnée, répétable ;
2. -répétable ;
4. Mappage de cartes : non ordonné, avec des clés uniques et des valeurs non uniques.
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!