¿Cuál es el uso de ThreadLocal?
¿Cuál es el uso de ThreadLocal?

Video: ¿Cuál es el uso de ThreadLocal?

Video: ¿Cuál es el uso de ThreadLocal?
Video: Threads en Java 2: y ThreadLocal 2024, Diciembre
Anonim

Java ThreadLocal se utiliza para crear variables locales de subprocesos. Sabemos que todos los subprocesos de un objeto comparten sus variables, por lo que la variable no es segura para subprocesos. Podemos usar la sincronización para la seguridad de los subprocesos, pero si queremos evitar la sincronización, podemos usar las variables ThreadLocal.

Así que, ¿para qué se usa la clase ThreadLocal?

Java ThreadLocal clase proporciona hilo-local variables. Le permite crear variables que solo pueden ser leídas y escritas por el mismo hilo. Si dos subprocesos están ejecutando el mismo código y ese código tiene una referencia a un ThreadLocal variable, entonces los dos subprocesos no pueden ver la variable local entre sí.

Además de lo anterior, ¿por qué ThreadLocal es estático y final? Como podemos ver, el estático en vez de ThreadLocal se utiliza solo como clave de búsqueda. Su valor no se puede cambiar porque está declarado final . los ThreadLocal La instancia es totalmente segura para subprocesos porque en realidad es de solo lectura, por lo que la sincronización no es necesaria. Lo que potencialmente no es seguro para subprocesos es el objeto de destino.

De manera similar, puede preguntar, ¿cómo funciona ThreadLocal en Java?

los Java ThreadLocal class le permite crear variables que solo pueden ser leídas y escritas por el mismo hilo. Por lo tanto, incluso si dos subprocesos están ejecutando el mismo código, y el código tiene una referencia al mismo ThreadLocal variable, los dos hilos no pueden verse el uno del otro ThreadLocal variables.

¿Por qué ThreadLocal es estático?

En breve, ThreadLocal El objeto funciona como un mapa clave-valor. estático final ThreadLocal las variables son seguras para subprocesos. estático hacer el ThreadLocal variable disponible en varias clases solo para el subproceso respectivo. es una especie de decaración de variable global de la respectiva hilo local variables en varias clases.

Recomendado: