Cet article présente principalement les informations pertinentes sur Java utilisant ConcurrentHashMap et les compteurs pour implémenter les verrous. Les amis qui en ont besoin peuvent se référer à Java. Utilisation de ConcurrentHashMap et des compteurs pour implémenter les verrous. Dans certains scénarios, nous souhaitons que les threads soient mis en file d'attente selon certains. données métiers. , le code simple est le suivant : import java.util.ArrayList; importer java.util.HashMap ; importer java.util.List ; importer java.util.Map ; importer java.util.concurrent.ConcurrentHashMap ; importer java.util.concurrent.atomic.AtomicInteger ; public class TestServiceImpl {
Introduction : Cet article présente principalement les informations pertinentes sur Java utilisant ConcurrentHashMap et le compteur pour implémenter des verrous. Les amis dans le besoin peuvent se référer à
2. 🎜 >Exemple de code détaillé expliquant 3 façons d'implémenter un verrou à granularité fine Java
Introduction : Récemment au travail J'ai rencontré certains scénarios à forte concurrence qui nécessitaient un verrouillage pour garantir l'exactitude de la logique métier, et il était nécessaire que les performances ne soient pas grandement affectées après le verrouillage. L'idée initiale est de verrouiller l'horodatage, l'identifiant et d'autres mots-clés des données pour garantir la concurrence des différents types de traitement de données. La granularité des verrous fournie par la propre API de Java est trop grande pour répondre à ces besoins en même temps, j'ai donc moi-même écrit quelques extensions simples... 1. Les verrous segmentés s'appuient sur l'idée de segmentation de concurrentHashMap, génèrent d'abord un certain nombre De serrures, lorsqu'elle est utilisée spécifiquement, la serrure correspondante sera restituée en fonction de la clé. Il s'agit de la plus simple de plusieurs implémentations.
3 Classes d'outils couramment utilisées dans le modèle de publication-abonnement activeMQ
<.>Introduction : package com.jms ; importer java.util.Map ; importer java.util.concurrent.ConcurrentHashMap ; importer javax.jms.BytesMessage ; importer javax.jms.Connection ; importer javax.jms.ConnectionFactory ; importer javax.jms . Destination;import javax.jms.JMSException;impo【Questions et réponses associées recommandées】 :
Le rôle du mot-clé java volatile java - Quelle est la signification de readValueUnderLock(e) dans le code source concurrentHashMap ? Pourquoi les éléments du nœud HashEntry de ConcurrentHashMap en Java devraient-ils être définis comme finaux ? Concurrency - ConcurrentHashMap en Java ne peut pas être verrouillé pour effectuer un accès exclusif ? ? java - ConcurrentHashMap Lorsque plusieurs threads obtiennent des données, assurez-vous que d'autres threads ne les inséreront pas ou ne les affecteront pas ?
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!