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