Junior — Middle
Cum se implementează o structură de date Map sigură pentru fire într-un mediu multi-thread?
sobes.tech AI
Răspuns de la AI
Pentru a implementa o structură de date Map sigură pentru fire în Java, puteți utiliza clasa ConcurrentHashMap din pachetul java.util.concurrent. Aceasta asigură acces și modificare eficiente ale datelor într-un mediu multi-thread fără necesitatea sincronizării externe.
Exemplu de utilizare:
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Adăugarea unui element
map.put("key", 1);
// Obținerea unui element
Integer value = map.get("key");
// Actualizare sigură a valorii
map.computeIfPresent("key", (k, v) -> v + 1);
Alternativ, se poate folosi Collections.synchronizedMap(new HashMap<>()), dar ConcurrentHashMap este de obicei preferat pentru concurență înaltă.