Tag: concurrenthashmap
Die Java-ConcurrentHashMap Datenstruktur. Die ConcurrentHashmap ist eine hash-Tabelle unterstützt die volle Parallelität von Abruf-und einstellbar erwartete Gleichzeitigkeit für updates. Es ermöglicht die gleichzeitige änderung der Anzeigen von mehreren threads ohne die Notwendigkeit, Sie zu blockieren
3
Antworten
Einige Zeit her, Gebloggt habe ich über einen Java 8 funktionale Art und Weise der Berechnung der fibonacci-zahlen rekursiv, mit einem ConcurrentHashMap cache und die neue, nützliche computeIfAbsent() Methode: import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class Test {
3
Antworten
Weiß jemand, was ist der Arbeitsspeicher-overhead einer ConcurrentHashMap (im Vergleich zu einem "klassischen" HashMap) ? Am Bau ? Beim einfügen eines Elements ? Es macht keinen Sinn große Anzahl von ConcurrentHashMap geben Sie nur eine begrenzte Anzahl
4
Antworten
Habe ich gelesen, für concurency seit gestern und ich weiß nicht viel Sachen... Aber einige Dinge beginnen zu bekommen, klar,... Ich verstehe, warum double-check-locking nicht sicher (ich Frage mich, was ist die propability der seltene Zustand zu
3
Antworten
Aus der Javadoc-ich weiß ConcurrentHashMap.replace atomar ist, aber was ist mit ConcurrentHashMap.put? Ich sehe, Sie sind unterschiedlich implementiert in den source code, aber ich bin nicht in der Lage, herauszufinden, Ihre Unterschiede. Alle gurus geben einige Richtlinien
2
Antworten
In einem interview wurde ich gebeten, zu prüfen, ob folgende code funktioniert wie vorgesehen. ConcurrentHashMap<Integer, Integer> chm = new ConcurrentHashMap<>(); if (chm.get(key) != null) { chm.get(key).doSomething(); chm.remove(key); } Laut JavaDocs, get liefert den Wert des letzten abgeschlossenen
4
Antworten
Schreibe ich ein web-Dienst, der stützt sich stark auf einen einzigen großen Karte, die ist komplett aktualisiert einmal in der Stunde. Den rest der Zeit viele threads gleichzeitig Lesen Sie in der Tabelle. Meine Frage ist: Was
4
Antworten
Frage ich mich, über die Parameter für den Bau einer ConcurrentHashMap: initialCapacity 16 ist standardmäßig (verstanden). loadFactor ist 0,75 standardmäßig. concurrencyLevel 16 standardmäßig. Meine Fragen sind: Welche Kriterien sollten verwendet werden, um anzupassen loadFactor nach oben oder
3
Antworten
Möchte ich in regelmäßigen Abständen Durchlaufen einer ConcurrentHashMap beim entfernen von Einträgen, wie folgt: for (Iterator<Entry<Integer, Integer>> iter = map.entrySet().iterator(); iter.hasNext(); ) { Entry<Integer, Integer> entry = iter.next(); //do something iter.remove(); } Das problem ist, dass ein
3
Antworten
Ich habe irgendwo gelesen, dass in ConcurrentHashMap die ganze map-Objekt nicht gesperrt ist, und stattdessen wird eine Sperre auf einen Teil der Karte. Kann jemand aufwendigen, wenn nicht sperren ins Spiel kommen? Ist es richtig, dass beim
6
Antworten
Ich bin erstellen einer memoization cache mit folgenden Eigenschaften: ein cache-miss führt das rechnen und speichern ein Eintrag diese Berechnung ist sehr teuer diese Berechnung ist idempotent unbounded (Einträge nie gelöscht), da: die Eingänge führen würde höchstens
3
Antworten
Ich habe ein Android-Anwendung, deren Kernbestandteil ist ein HashMap<String,float>. Das System ist mit einer hohen Parallelität. e.g hier sind die folgenden drei Situationen, die ich haben, welche Häufig auftreten und Sie sind sehr überlappung in der Natur
5
Antworten
Zunächst werde ich beschreiben, was ich will und dann werde ich näher auf die Möglichkeiten, die ich überlege. Ich weiß nicht, welche ist die beste, so möchte ich etwas Hilfe. Ich habe eine hash-map, auf der ich
5
Antworten
Habe ich verwendet LinkedHashMap mit accessOrder wahr, zusammen mit, so dass maximal 500 Einträge jederzeit als LRU-cache für Daten. Aber aufgrund der Skalierbarkeit, ich möchte nun auf einige thread-sichere alternative. ConcurrentHashMap scheint gut in dieser Hinsicht, aber
2
Antworten
Ich bin auf der Suche nach Antwort auf diese, aber nicht in der Lage, es zu finden über Google oder in den Java-docs. Fall 1: in ConcurrentHashMap: angenommen, ein thread t1 ist das Lesen von segment n,
6
Antworten
Ich versuche, drucken Sie einfach alle Schlüssel/Wert-paar(s) in eine ConcurrentHashMap. Fand ich diesen code, online, daß ich dachte, es tun würde, aber es scheint immer Informationen über den Eimer/hashcode. Eigentlich um ehrlich zu sein, die Ausgabe, die
6
Antworten
Ich habe eine ConcurrentHashMap, wo ich Folgendes tun: sequences = new ConcurrentHashMap<Class<?>, AtomicLong>(); if(!sequences.containsKey(table)) { synchronized (sequences) { if(!sequences.containsKey(table)) initializeHashMapKeyValue(table); } } Meine Frage ist - ist es unnötig, die machen das extra if(!sequences.containsKey(table)) Überprüfen Sie das
4
Antworten
Die neue version von Concurrent Hash-Map des jdk 8 hat zwei neue Methoden. computeIfAbsent computeIfPresent putIfAbsent - Alte Methode Verstehe ich die Anwendungsfälle der putIfAbsent und computeIfAbsent. Aber ich bin nicht sicher, ob die Szenarien, wenn ich
3
Antworten
Nach Java Concurrency in Practice, Kapitel 11.4.3 sagt: Lock splitting kann manchmal verlängert werden, um partition die Sperre einer variablesized Gruppe voneinander Unabhängiger Objekte, in dem Fall es heißt lock striping. Zum Beispiel die Umsetzung von ConcurrentHashMap
8
Antworten
Ist ConcurrentHashMap.get() garantiertum zu sehen, eine Vorherige ConcurrentHashMap.put() vom anderen thread? Meine Erwartung ist, dass ist, und Lesen Sie die JavaDocs scheint so, aber ich bin 99% überzeugt, dass die Realität anders ist. Auf meinem produktiven server
5
Antworten
Ich würde gerne eine einfache Implementierung der Zwischenspeicherung von Schwergewichts-Objekte in eine java web-Anwendung. Aber ich kann nicht herausfinden, wie man es richtig machen. Bin ich etwas fehlt oder ConcurrentHashMap Methoden (putIfAbsent, ...) sind nicht ausreichend und
2
Antworten
Tun alle nicht-retreival-Operationen auf einer ConcurrentHashMap (put()remove() etc.) werden müssen verpackt in einem synchronized(this) block? Ich verstehe, dass alle diese Vorgänge sind thread-sicher, so gibt es einen wirklichen nutzen/brauchen, das zu tun? Die einzigen Operationen verwendet werden
6
Antworten
Ich würde gerne sammeln einige der Metriken aus verschiedenen Orten in einer web-app. Um es einfach zu halten, alle diese werden Zähler und damit der einzige Modifikator Betrieb ist, erhöhen Sie um 1. Den Schritten wird die
2
Antworten
Dem JDK ausgeliefert wird mit CopyOnWrite* Implementierungen für Set und Listaber keine für Map und ich habe oft Beklagte diese Tatsache. Ich weiß, es gibt andere Sammlungen Implementierungen gibt, die Sie haben, aber es wäre schön, wenn
6
Antworten
Ich habe mit Java ConcurrentMap für eine Karte, die verwendet werden können von mehreren threads. Die putIfAbsent ist eine großartige Methode, und ist viel einfacher zu Lesen/schreiben als die Verwendung von standard-map-Operationen. Ich habe einige code, der
3
Antworten
Entwickeln wir ein hoch performance-kritische software in C++. Dort müssen wir eine gleichzeitige hash map und umgesetzt. So schrieben wir eine benchmark, um herauszufinden, wie viel langsamer unsere gleichzeitige hash-map ist im Vergleich mit std::unordered_map. Aber std::unordered_map
6
Antworten
In der JavaDoc von ConcurrentHashMap sagt: Wie Hashtable aber im Gegensatz zu HashMap diese Klasse hat nicht ermöglichen null verwendet werden, wie ein Schlüssel oder Wert. Meine Frage: warum? 2. Frage: warum nicht Hashtable null zulassen? Ich
7
Antworten
Ich bin Aggregation mehrerer Werte für die Schlüssel in einer multi-threaded Umgebung. Die Tasten sind nicht im Voraus bekannt. Ich dachte, ich würde etwas wie das hier tun: class Aggregator { protected ConcurrentHashMap<String, List<String>> entries = new
5
Antworten
Was ist die Verwendung von ConcurrentHashMap in Java? Was sind die Vorteile? Wie funktioniert es? Beispiel-code wäre auch hilfreich. InformationsquelleAutor der Frage Praveen | 2010-05-14
3
Antworten
Ich würde gerne sammeln einige der Metriken aus verschiedenen Orten in einer web-app. Um es einfach zu halten, alle diese werden Zähler und damit der einzige Modifikator Betrieb ist, erhöhen Sie um 1. Den Schritten wird die
3
Antworten
In Java ConcurrentHashMap ist es für eine bessere multithreading Lösung. Wenn dann sollte ich ConcurrentSkipListMap? Ist es eine Redundanz? Nicht multithreading-Aspekte zwischen diesen beiden gemeinsam sind? InformationsquelleAutor der Frage DKSRathore | 2009-11-28