Junior — Middle
Como implementar uma estrutura de dados Map segura para threads em um ambiente multithread?
sobes.tech IA
Resposta da IA
Para implementar uma estrutura de dados Map segura para threads em Java, pode usar a classe ConcurrentHashMap do pacote java.util.concurrent. Ela fornece acesso e modificação eficientes de dados em ambientes multithread sem necessidade de sincronização externa.
Exemplo de uso:
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Adicionar elemento
map.put("key", 1);
// Obter elemento
Integer value = map.get("key");
// Atualização segura do valor
map.computeIfPresent("key", (k, v) -> v + 1);
Alternativamente, pode usar Collections.synchronizedMap(new HashMap<>()), mas ConcurrentHashMap é geralmente preferido para alta concorrência.