Sobes.tech
Junior — Middle

Jak implementovat vlákny bezpečnou datovou strukturu Map v prostředí s více vlákny?

sobes.tech AI

Odpověď od AI

Pro implementaci bezpečné datové struktury Map v Java, můžete použít třídu ConcurrentHashMap z balíčku java.util.concurrent. Poskytuje efektivní přístup a úpravy dat v prostředí s více vlákny bez potřeby externí synchronizace.

Příklad použití:

import java.util.concurrent.ConcurrentHashMap;

ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();

// Přidání prvku
map.put("key", 1);

// Získání prvku
Integer value = map.get("key");

// Bezpečná aktualizace hodnoty
map.computeIfPresent("key", (k, v) -> v + 1);

Alternativně lze použít Collections.synchronizedMap(new HashMap<>()), ale ConcurrentHashMap je obvykle preferována pro vysokou konkurenci.