Als «concurrenthashmap» getaggte Fragen

5
Ist das Iterieren von ConcurrentHashMap-Werten threadsicher?
In Javadoc für ConcurrentHashMap ist Folgendes: Abrufvorgänge (einschließlich get) werden im Allgemeinen nicht blockiert und können sich daher mit Aktualisierungsvorgängen (einschließlich put und remove) überschneiden. Abrufe spiegeln die Ergebnisse der zuletzt abgeschlossenen Aktualisierungsvorgänge wider, die bei ihrem Beginn ausgeführt wurden. Bei aggregierten Vorgängen wie putAll und clear können gleichzeitige Abfragen …

7
Warum verhindert ConcurrentHashMap Nullschlüssel und -werte?
Das JavaDoc von ConcurrentHashMapsagt dies: Wie, Hashtableaber nicht, erlaubt HashMapdiese Klasse nicht , nullals Schlüssel oder Wert verwendet zu werden. Meine Frage: Warum? 2. Frage: Warum nicht Hashtablenull zulassen? Ich habe viele HashMaps zum Speichern von Daten verwendet. Aber als ConcurrentHashMapich zu wechselte, bekam ich wegen NullPointerExceptions mehrmals Probleme.

3
Ist die Implementierung von gcc std :: unordered_map langsam? Wenn ja warum?
Wir entwickeln eine hochleistungskritische Software in C ++. Dort benötigen wir eine gleichzeitige Hash-Map und implementieren eine. Also haben wir einen Benchmark geschrieben, um herauszufinden, mit wie viel langsamer unsere gleichzeitige Hash-Map verglichen wird std::unordered_map. Aber es std::unordered_mapscheint unglaublich langsam zu sein ... Das ist also unser Mikro-Benchmark (für die …


3
Der rekursive ConcurrentHashMap.computeIfAbsent () -Aufruf wird niemals beendet. Fehler oder "Feature"?
Vor einiger Zeit habe ich über eine Java 8-Methode zur rekursiven Berechnung von Fibonacci-Zahlen mit einem ConcurrentHashMapCache und der neuen, nützlichen computeIfAbsent()Methode gebloggt : import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class Test { static Map<Integer, Integer> cache = new ConcurrentHashMap<>(); public static void main(String[] args) { System.out.println( "f(" + 8 + …

6
Sollten Sie überprüfen, ob die Karte Schlüssel enthält, bevor Sie putIfAbsent von ConcurrentMap verwenden
Ich habe Javas ConcurrentMap für eine Map verwendet, die von mehreren Threads verwendet werden kann. PutIfAbsent ist eine großartige Methode und viel einfacher zu lesen / schreiben als die Verwendung von Standardkartenoperationen. Ich habe einen Code, der so aussieht: ConcurrentMap<String, Set<X>> map = new ConcurrentHashMap<String, Set<X>>(); // ... map.putIfAbsent(name, new …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.