Sobes.tech
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.