Ich brauche eine HashMap, die aus mehreren Threads zugänglich ist.Gibt es irgendwelche Nachteile mit ConcurrentHashMap?
Es gibt zwei einfache Optionen, die eine normale HashMap verwenden und darauf synchronisieren oder eine ConcurrentHashMap verwenden.
Da ConcurrentHashMap bei Lesevorgängen nicht blockiert, scheint es viel besser für meine Bedürfnisse geeignet (fast ausschließlich liest, fast nie aktualisiert). Auf der anderen Seite, erwarte ich sowieso sehr geringe Nebenläufigkeit, also sollte es keine Blockierung geben (nur die Kosten für die Verwaltung der Sperre).
Die Karte wird auch sehr klein sein (unter zehn Einträge), wenn das einen Unterschied macht.
Verglichen mit einer normalen HashMap, wie viel teurer sind die Lese- und Schreiboperationen (ich nehme an, dass sie das sind)? Oder ist ConcurrentHashMap einfach immer besser, wenn es trotz des Lese/Aktualisierungs-Verhältnisses und der Größe sogar einen moderaten Grad an gleichzeitigen Zugriff gibt?
Genaue doppelte Frage? http://stackoverflow.com/questions/1378310/performance-concurrenthashmap-vs-hashmap – andersoj
In der Tat. Vielen Dank.(Allerdings gibt es noch keine befriedigende Antwort) – Thilo