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