Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase ThreadLocal<T>

.NET Framework (current version)
 

Proporciona almacenamiento local de los datos de un subproceso.

Espacio de nombres:   System.Threading
Ensamblado:  mscorlib (en mscorlib.dll)

System.Object
  System.Threading.ThreadLocal<T>

[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public class ThreadLocal<T> : IDisposable

Parámetros de tipo

T

Especifica el tipo de datos almacenados por subproceso.

NombreDescripción
System_CAPS_pubmethodThreadLocal<T>()

Inicializa la instancia ThreadLocal<T>.

System_CAPS_pubmethodThreadLocal<T>(Boolean)

Inicializa el ThreadLocal<T> de la instancia y especifica si todos los valores son accesibles desde cualquier subproceso.

System_CAPS_pubmethodThreadLocal<T>(Func<T>)

Inicializa el ThreadLocal<T> instancia con el parámetro valueFactory (función).

System_CAPS_pubmethodThreadLocal<T>(Func<T>, Boolean)

Inicializa el ThreadLocal<T> instancia con los valores especificados valueFactory función y una marca que indica si todos los valores están accesibles desde cualquier subproceso.

NombreDescripción
System_CAPS_pubpropertyIsValueCreated

Obtiene si Value se inicializa en el subproceso actual.

System_CAPS_pubpropertyValue

Obtiene o establece el valor de esta instancia del subproceso actual.

System_CAPS_pubpropertyValues

Obtiene una lista de todos los valores almacenados actualmente por todos los subprocesos que han tenido acceso a esta instancia.

NombreDescripción
System_CAPS_pubmethodDispose()

Libera todos los recursos usados por la instancia actual de la clase ThreadLocal<T>.

System_CAPS_protmethodDispose(Boolean)

Libera los recursos utilizados por este ThreadLocal<T> instancia.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Libera los recursos utilizados por este ThreadLocal<T> instancia.(Invalida Object.Finalize()).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_pubmethodToString()

Crea y devuelve una representación de cadena de esta instancia del subproceso actual.(Invalida Object.ToString()).

The following example shows how to use T:System.Threading.ThreadLocal`1:

using System;
using System.Threading;
using System.Threading.Tasks;

class ThreadLocalDemo
{

        // Demonstrates:
        //      ThreadLocal(T) constructor
        //      ThreadLocal(T).Value
        //      One usage of ThreadLocal(T)
        static void Main()
        {
            // Thread-Local variable that yields a name for a thread
            ThreadLocal<string> ThreadName = new ThreadLocal<string>(() =>
            {
                return "Thread" + Thread.CurrentThread.ManagedThreadId;
            });

            // Action that prints out ThreadName for the current thread
            Action action = () =>
            {
                // If ThreadName.IsValueCreated is true, it means that we are not the
                // first action to run on this thread.
                bool repeat = ThreadName.IsValueCreated;

                Console.WriteLine("ThreadName = {0} {1}", ThreadName.Value, repeat ? "(repeat)" : "");
            };

            // Launch eight of them.  On 4 cores or less, you should see some repeat ThreadNames
            Parallel.Invoke(action, action, action, action, action, action, action, action);

            // Dispose when you are done
            ThreadName.Dispose();
        }
}

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 4.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Windows Phone Silverlight
Disponible desde 8.0
Windows Phone
Disponible desde 8.1

With the exception of M:System.Threading.ThreadLocal`1.Dispose, all public and protected members of T:System.Threading.ThreadLocal`1 are thread-safe and may be used concurrently from multiple threads. The value returned for the P:System.Threading.ThreadLocal`1.Value and P:System.Threading.ThreadLocal`1.IsValueCreated properties is specific for the thread on which the property is accessed.

Volver al principio
Mostrar: