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