Junior — Middle
Jak zaimplementować bezpieczną dla wątków strukturę danych Map w środowisku wielowątkowym?
sobes.tech AI
Odpowiedź od AI
Aby zaimplementować bezpieczną dla wątków strukturę danych Map w Java, można użyć klasy ConcurrentHashMap z pakietu java.util.concurrent. Zapewnia ona efektywny dostęp i modyfikację danych w środowisku wielowątkowym bez konieczności zewnętrznej synchronizacji.
Przykład użycia:
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Dodanie elementu
map.put("key", 1);
// Pobranie elementu
Integer value = map.get("key");
// Bezpieczna aktualizacja wartości
map.computeIfPresent("key", (k, v) -> v + 1);
Alternatywnie można użyć Collections.synchronizedMap(new HashMap<>()), ale ConcurrentHashMap jest zwykle preferowany dla wysokiej konkurencyjności.