Junior — Middle
Ako implementovať vlákno-bezpečnú dátovú štruktúru Map v prostredí s viacerými vláknami?
sobes.tech AI
Odpoveď od AI
Na implementáciu bezpečnej pre vlákna dátovej štruktúry Map v Jave môžete použiť triedu ConcurrentHashMap z balíka java.util.concurrent. Poskytuje efektívny prístup a úpravy dát v prostredí s viacerými vláknami bez potreby vonkajšej synchronizácie.
Príklad použitia:
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Pridanie prvku
map.put("key", 1);
// Získanie prvku
Integer value = map.get("key");
// Bezpečná aktualizácia hodnoty
map.computeIfPresent("key", (k, v) -> v + 1);
Alternatívne môžete použiť Collections.synchronizedMap(new HashMap<>()), ale ConcurrentHashMap je zvyčajne preferovaná pre vysokú konkurenciu.