Qual é a utilidade do ThreadLocal?
Qual é a utilidade do ThreadLocal?

Vídeo: Qual é a utilidade do ThreadLocal?

Vídeo: Qual é a utilidade do ThreadLocal?
Vídeo: CppCon 2016: Walter E. Brown “What C++ Programmers Need to Know about Header <random>" 2024, Novembro
Anonim

Java ThreadLocal é usado para criar variáveis locais de thread. Sabemos que todos os threads de um Object compartilham suas variáveis, então a variável não é segura para threads. Podemos usar a sincronização para segurança de thread, mas se quisermos evitar a sincronização, podemos usar variáveis ThreadLocal.

Então, para que é usada a classe ThreadLocal?

Java Classe ThreadLocal fornece thread-local variáveis. Ele permite que você crie variáveis que só podem ser lidas e gravadas pelo mesmo encadeamento. Se dois threads estão executando o mesmo código e esse código tem uma referência a um ThreadLocal variável, então os dois threads não podem ver a variável local um do outro.

Além disso, por que ThreadLocal é estático e final? Como podemos ver, o estático instancia de ThreadLocal é usado apenas como chave de pesquisa. Seu valor não pode ser alterado porque está declarado final . o ThreadLocal instância é totalmente thread-safe porque é realmente somente leitura, portanto a sincronização não é necessária. O que é potencialmente não seguro para thread é o objeto de destino.

Da mesma forma, você pode perguntar, como o ThreadLocal funciona em Java?

o Java ThreadLocal classe permite que você crie variáveis que só podem ser lidas e escritas pelo mesmo encadeamento. Assim, mesmo que dois threads estejam executando o mesmo código e o código tenha uma referência ao mesmo ThreadLocal variável, os dois threads não podem ver o do outro ThreadLocal variáveis.

Por que ThreadLocal é estático?

Resumidamente, ThreadLocal objeto funciona como um mapa de valor-chave. estático final ThreadLocal variáveis são thread-safe. estático faz o ThreadLocal variável disponível em várias classes apenas para o respectivo encadeamento. é uma espécie de redução da variável global do respectivo tópico local variáveis em várias classes.

Recomendado: