2017-04-07 3 views
1

Ich bin Anfänger in die Welt von java.until.concurrent. Brauchen Sie einen Einblick, bevor Sie ConcurrentHashMap im Code anwenden. Theoretisch segmentiert die Karte intern zu 16 Metamerics (die Standardsegmentierung kann jedoch angepasst werden). Jedes Catering auf verschiedene Themen während der Verarbeitung. Nun, da zwei oder mehr Threads versuchen, den Inhalt auf der Karte zu manipulieren ... Wie erfolgt die Synchronisation während des Lesens über andere Threads hinweg?Concurrent Modifikation in ConcurrentHashMap

+0

Die interne verknüpfte Liste pro Bucket wird thread-sicher gehandhabt, was keine Garantien gibt, ob Iteratoren Änderungen sehen, aber zumindest immer eine konsistente Ansicht sehen. –

Antwort

2

Die Synchronisation ist für den Entwickler transparent. Da die ConcurrentMap-Schnittstelle die java.util.Map erweitert. Sie können die get/put-Methoden auf ConcurrentHashMap aufrufen, wie Sie es mit HashMap tun, die JVM wird die Synchronisation im Hintergrund transparent behandeln. Du musst dich nicht darum kümmern.