Junior — Middle
Hogyan valósítható meg egy szálbiztos Map adatszerkezet több szálas környezetben?
sobes.tech MI
Válasz az MI-től
Java-ban több szál által biztonságos Map adatszerkezet megvalósításához használhatja a java.util.concurrent csomagból a ConcurrentHashMap osztályt. Ez hatékony hozzáférést és módosítást biztosít több szálas környezetben külső szinkronizáció nélkül.
Használati példa:
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Elem hozzáadása
map.put("key", 1);
// Elem lekérése
Integer value = map.get("key");
// Biztonságos érték frissítése
map.computeIfPresent("key", (k, v) -> v + 1);
Alternatívaként használhatja a Collections.synchronizedMap(new HashMap<>())-t, de a ConcurrentHashMap általában előnyösebb a magas konkurencia esetén.