Junior — Middle
Explique o significado e a finalidade da classe ThreadLocal na programação multithread.
sobes.tech IA
Resposta da IA
A classe ThreadLocal em Java é usada para criar variáveis que são locais para cada thread. Isso significa que cada thread tem a sua própria cópia da variável, e as alterações numa thread não afetam os valores noutras threads.
O objetivo do ThreadLocal é evitar problemas de sincronização e estado ao trabalhar com concorrência, quando é necessário armazenar dados específicos de um thread, como sessões de utilizador, ligações à base de dados ou formatadores de datas.
Exemplo de uso:
ThreadLocal<Integer> threadLocalCounter = ThreadLocal.withInitial(() -> 0);
// Em cada thread, pode-se aumentar o seu contador
threadLocalCounter.set(threadLocalCounter.get() + 1);
System.out.println(threadLocalCounter.get());
Assim, o ThreadLocal ajuda a evitar conflitos e garante o isolamento de dados entre threads sem necessidade de usar sincronização.