Heim  >  Artikel  >  Java  >  Detaillierte Einführung in ConcurrentHashMap

Detaillierte Einführung in ConcurrentHashMap

巴扎黑
巴扎黑Original
2017-06-10 11:53:131879Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur Verwendung von ConcurrentHashMap und Zählern zum Implementieren von Sperren vorgestellt. Freunde, die dies benötigen, können sich auf Java beziehen. Verwenden von ConcurrentHashMap und Zählern zum Implementieren von Sperren Geschäftsdaten, der einfache Code lautet wie folgt: import java.util.ArrayList; import java.util.HashMap; java.util.List importieren; java.util.Map importieren; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; öffentliche Klasse TestServiceImpl {

1. Detaillierte Erklärung, wie Java ConcurrentHashMap und Zähler verwendet, um Sperren zu implementieren

Detaillierte Einführung in ConcurrentHashMap

Einführung: In diesem Artikel werden hauptsächlich relevante Informationen zur Verwendung von ConcurrentHashMap und Counter zum Implementieren von Sperren vorgestellt

2 🎜 >Detaillierter Beispielcode, der drei Möglichkeiten der Implementierung feinkörniger Java-Sperren erklärt

Detaillierte Einführung in ConcurrentHashMap

Einführung: Kürzlich bei der Arbeit Ich bin auf einige Szenarien mit hoher Parallelität gestoßen, die eine Sperre erforderten, um die Korrektheit der Geschäftslogik sicherzustellen, und es war erforderlich, dass die Leistung nach der Sperrung nicht stark beeinträchtigt wird. Die ursprüngliche Idee besteht darin, den Zeitstempel, die ID und andere Schlüsselwörter der Daten zu sperren, um die Parallelität verschiedener Arten der Datenverarbeitung sicherzustellen. Die von Javas eigener API bereitgestellte Sperrgranularität ist zu groß, um diese Anforderungen gleichzeitig zu erfüllen, daher habe ich selbst ein paar einfache Erweiterungen geschrieben ... 1. Segmentierte Sperren basieren auf der Segmentierungsidee von concurrentHashMap und generieren zunächst eine bestimmte Zahl von Schlössern. Bei spezifischer Verwendung wird das entsprechende Schloss basierend auf dem Schlüssel zurückgegeben. Dies ist die einfachste von mehreren Implementierungen 🎜 >Einführung: Paket com.jms;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import javax.jms.BytesMessage;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms . Destination;import javax.jms.JMSException;impo

【Empfohlene verwandte Fragen und Antworten】: Die Rolle des Java-Schlüsselworts volatile

java – Was bedeutet readValueUnderLock(e) im concurrentHashMap-Quellcode?

Warum sollten die Elemente im HashEntry-Knoten von ConcurrentHashMap in Java als endgültig definiert werden?

Parallelität – ConcurrentHashMap in Java kann nicht gesperrt werden, um exklusiven Zugriff durchzuführen? ?

java - ConcurrentHashMap Wenn Multithreads Daten abrufen, stellen Sie sicher, dass andere Threads diese nicht einfügen oder beeinflussen?

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in ConcurrentHashMap. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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