ConcurrencyLevel in ConcurrentHashMap - Java, Sammlungen, Concurrenthashmap

Was wird der concurrencyLevel sein, wenn die Größe von ConcurrentHashMap erhöht wird?

Angenommen, die Anfangskapazität von ConcurrentHashMap ist16. und Standard-ConcurrencyLevel wird 16. Wenn die Kapazität nach einiger Zeit um den Ladefaktor erhöht wird und jetzt die erhöhte Kapazität 28 ist. Was wird in diesem Fall der ConcurrencyLevel sein?

Durch diese Links auch gegangen Segmentierung in ConcurrentHashMap und Ändern von Werten in ConcurrentHashMap aber immer noch nicht klar.

Danke im Voraus.

Antworten:

6 für die Antwort № 1

Es gibt keinen Grund, beim Lesen der Dokumentation darüber nachzudenken, dass sich die Nebenläufigkeitsebene jemals ändern kann. Es bleibt das, worauf es bei der Objekterstellung eingestellt ist. Im Zweifelsfall durchsuchen Sie den Quellcode:

http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/43cb25339b55/src/share/classes/java/util/concurrent/ConcurrentHashMap.java

Es scheint, dass derzeit nur die Anzahl der Bins erhöht wird, wenn die anfängliche Kapazität geringer ist als die spezifizierte Gleichzeitigkeitsstufe.


Speisekarte