Junior — Middle
Comment implémenter une structure de données Map thread-safe dans un environnement multithread?
sobes.tech IA
Réponse de l'IA
Pour implémenter une structure de données Map thread-safe en Java, vous pouvez utiliser la classe ConcurrentHashMap du package java.util.concurrent. Elle offre un accès et une modification efficaces des données dans un environnement multithread sans nécessiter de synchronisation externe.
Exemple d'utilisation :
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Ajout d'un élément
map.put("key", 1);
// Récupération d'un élément
Integer value = map.get("key");
// Mise à jour sécurisée de la valeur
map.computeIfPresent("key", (k, v) -> v + 1);
Alternativement, on peut utiliser Collections.synchronizedMap(new HashMap<>()), mais ConcurrentHashMap est généralement préféré pour une haute concurrence.