Junior — Middle
Wie implementiert man eine thread-sichere Map-Datenstruktur in einer Multithread-Umgebung?
sobes.tech KI
Antwort von AI
Um eine threadsichere Map-Datenstruktur in Java zu implementieren, kann die Klasse ConcurrentHashMap aus dem Paket java.util.concurrent verwendet werden. Sie bietet effizienten Zugriff und Modifikation von Daten in einer Multithread-Umgebung ohne externe Synchronisierung.
Beispiel:
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Element hinzufügen
map.put("key", 1);
// Element abrufen
Integer value = map.get("key");
// Sicheres Aktualisieren des Werts
map.computeIfPresent("key", (k, v) -> v + 1);
Alternativ kann Collections.synchronizedMap(new HashMap<>()) verwendet werden, aber ConcurrentHashMap ist in der Regel für hohe Parallelität vorzuziehen.