System.Threading Espacio de nombres

El espacio de nombres System.Threading proporciona clases e interfaces que permiten la programación multiproceso. The System.Threading namespace provides classes and interfaces that enable multithreaded programming. Además de las clases para la sincronización de actividades de subprocesos y el acceso a datos (Mutex, Monitor, Interlocked, AutoResetEvent, etc.), este espacio de nombres incluye una clase ThreadPool que permite usar un grupo de subprocesos suministrados por el sistema y una clase Timer que ejecuta métodos de devolución de llamada en subprocesos del grupo de subprocesos. In addition to classes for synchronizing thread activities and access to data (Mutex, Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that allows you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads.

Clases

AbandonedMutexException

Excepción que se produce cuando un subproceso adquiere un objeto Mutex que otro subproceso ha abandonado al salir sin liberarlo.The exception that is thrown when one thread acquires a Mutex object that another thread has abandoned by exiting without releasing it.

AsyncLocal<T>

Representa datos ambiente locales de un flujo de control asincrónico determinado, por ejemplo, un método asincrónico.Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method.

AutoResetEvent

Representa un evento de sincronización de subprocesos que cuando se señala, se restablece automáticamente después de liberar un único subproceso en espera.Represents a thread synchronization event that, when signaled, resets automatically after releasing a single waiting thread. Esta clase no puede heredarse.This class cannot be inherited.

Barrier

Habilita varias tareas para que colaboren en un algoritmo en paralelo en varias fases.Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.

BarrierPostPhaseException

La excepción que se inicia cuando se produce un error en la acción posterior a la fase de Barrier.The exception that is thrown when the post-phase action of a Barrier fails.

CancellationTokenSource

Señala un objeto CancellationToken que debe cancelarse.Signals to a CancellationToken that it should be canceled.

CompressedStack

Proporciona métodos para la configuración y captura de la pila comprimida en el subproceso actual.Provides methods for setting and capturing the compressed stack on the current thread. Esta clase no puede heredarse.This class cannot be inherited.

CountdownEvent

Representa una primitiva de sincronización que está señalada cuando su recuento alcanza el valor cero.Represents a synchronization primitive that is signaled when its count reaches zero.

EventWaitHandle

Representa un evento de sincronización de subprocesos.Represents a thread synchronization event.

ExecutionContext

Administra el contexto de ejecución del subproceso actual.Manages the execution context for the current thread. Esta clase no puede heredarse.This class cannot be inherited.

HostExecutionContext

Encapsula y difunde el contexto de ejecución del host en todos los subprocesos.Encapsulates and propagates the host execution context across threads.

HostExecutionContextManager

Proporciona la funcionalidad que permite que un host de Common Language Runtime participe en el flujo, o migración, del contexto de ejecución.Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context.

Interlocked

Proporciona operaciones atómicas para las variables compartidas por varios subprocesos.Provides atomic operations for variables that are shared by multiple threads.

LazyInitializer

Proporciona rutinas de inicialización diferida.Provides lazy initialization routines.

LockRecursionException

Excepción que se inicia cuando la entrada recursiva en un bloqueo no es compatible con la directiva de recursividad del bloqueo.The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.

ManualResetEvent

Representa un evento de sincronización de subprocesos que, cuando se señale, se debe restablecer manualmente.Represents a thread synchronization event that, when signaled, must be reset manually. Esta clase no puede heredarse.This class cannot be inherited.

ManualResetEventSlim

Representa un evento de sincronización de subprocesos que, cuando se señale, se debe restablecer manualmente.Represents a thread synchronization event that, when signaled, must be reset manually. Esta clase es una alternativa ligera a ManualResetEvent.This class is a lightweight alternative to ManualResetEvent.

Monitor

Proporciona un mecanismo que sincroniza el acceso a los objetos.Provides a mechanism that synchronizes access to objects.

Mutex

Primitiva de sincronización que puede usarse también para la sincronización entre procesos.A synchronization primitive that can also be used for interprocess synchronization.

Overlapped

Proporciona una representación administrada de una estructura OVERLAPPED de Win32, incluidos los métodos para transferir información de una instancia Overlapped a una estructura NativeOverlapped.Provides a managed representation of a Win32 OVERLAPPED structure, including methods to transfer information from an Overlapped instance to a NativeOverlapped structure.

PreAllocatedOverlapped

Representa el estado preasignado para las operaciones de E/S superpuestas nativas.Represents pre-allocated state for native overlapped I/O operations.

ReaderWriterLock

Define un bloqueo que admite un escritor y varios lectores.Defines a lock that supports single writers and multiple readers.

ReaderWriterLockSlim

Representa un bloqueo que se utiliza para administrar el acceso a un recurso y que permite varios subprocesos para la lectura o acceso exclusivo para la escritura.Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.

RegisteredWaitHandle

Representa un identificador que se registró al llamar a RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean).Represents a handle that has been registered when calling RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Esta clase no puede heredarse.This class cannot be inherited.

Semaphore

Limita el número de subprocesos que pueden tener acceso a un recurso o grupo de recursos simultáneamente.Limits the number of threads that can access a resource or pool of resources concurrently.

SemaphoreFullException

Excepción que se produce cuando se llama al método Release en un semáforo cuyo recuento ya ha alcanzado el valor máximo.The exception that is thrown when the Release method is called on a semaphore whose count is already at the maximum.

SemaphoreSlim

Representa una alternativa ligera a Semaphore que limita el número de subprocesos que pueden tener acceso a un recurso o grupo de recursos simultáneamente.Represents a lightweight alternative to Semaphore that limits the number of threads that can access a resource or pool of resources concurrently.

SynchronizationContext

Proporciona la funcionalidad básica para difundir un contexto de sincronización en varios modelos de sincronización.Provides the basic functionality for propagating a synchronization context in various synchronization models.

SynchronizationLockException

Excepción que se produce cuando un método requiere que el llamador sea propietario del bloqueo en un Monitor dado y un llamador al que no pertenece ese bloqueo llama al método.The exception that is thrown when a method requires the caller to own the lock on a given Monitor, and the method is invoked by a caller that does not own that lock.

Thread

Crea y controla un subproceso, establece su prioridad y obtiene su estado.Creates and controls a thread, sets its priority, and gets its status.

ThreadAbortException

Excepción que se produce cuando se realiza una llamada al método Abort(Object).The exception that is thrown when a call is made to the Abort(Object) method. Esta clase no puede heredarse.This class cannot be inherited.

ThreadExceptionEventArgs

Proporciona datos para el evento ThreadException.Provides data for the ThreadException event.

ThreadingAclExtensions
ThreadInterruptedException

Excepción que se produce cuando Thread se interrumpe mientras se encuentra en estado de espera.The exception that is thrown when a Thread is interrupted while it is in a waiting state.

ThreadLocal<T>

Proporciona almacenamiento local de los datos de un subproceso.Provides thread-local storage of data.

ThreadPool

Proporciona un grupo de subprocesos que pueden usarse para ejecutar tareas, exponer elementos de trabajo, procesar la E/S asincrónica, esperar en nombre de otros subprocesos y procesar temporizadores.Provides a pool of threads that can be used to execute tasks, post work items, process asynchronous I/O, wait on behalf of other threads, and process timers.

ThreadPoolBoundHandle

Representa un identificador de E/S que se enlaza al grupo de subprocesos de sistema y permite que los componentes de bajo nivel reciban notificaciones para operaciones de E/S asincrónicas.Represents an I/O handle that is bound to the system thread pool and enables low-level components to receive notifications for asynchronous I/O operations.

ThreadStartException

Excepción que se produce cuando se produce un error en un subproceso administrado después de que se haya iniciado el subproceso del sistema operativo subyacente, pero antes de que el subproceso esté listo para ejecutar el código de usuario.The exception that is thrown when a failure occurs in a managed thread after the underlying operating system thread has been started, but before the thread is ready to execute user code.

ThreadStateException

Excepción que se produce cuando un Thread es un ThreadState que no es válido para la llamada de método.The exception that is thrown when a Thread is in an invalid ThreadState for the method call.

Timeout

Contiene las constantes que especifican intervalos de tiempo de espera infinitos.Contains constants that specify infinite time-out intervals. Esta clase no puede heredarse.This class cannot be inherited.

Timer

Proporciona un mecanismo para ejecutar un método en un subproceso del grupo de subprocesos en intervalos especificados.Provides a mechanism for executing a method on a thread pool thread at specified intervals. Esta clase no puede heredarse.This class cannot be inherited.

Volatile

Contiene los métodos para realizar operaciones de memoria volátil.Contains methods for performing volatile memory operations.

WaitHandle

Encapsula los objetos específicos del sistema operativo que esperan obtener un acceso exclusivo a los recursos compartidos.Encapsulates operating system-specific objects that wait for exclusive access to shared resources.

WaitHandleCannotBeOpenedException

La excepción que se produce cuando se intenta abrir una exclusión mutua del sistema, un semáforo o un identificador de espera de eventos que no existe.The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist.

WaitHandleExtensions

Proporciona métodos útiles para trabajar con un controlador seguro para un identificador de espera.Provides convenience methods to for working with a safe handle for a wait handle.

Estructuras

AsyncFlowControl

Proporciona la funcionalidad para restaurar la migración, o el flujo, del contexto de ejecución entre los subprocesos.Provides the functionality to restore the migration, or flow, of the execution context between threads.

AsyncLocalValueChangedArgs<T>

Clase que proporciona información de cambio de datos a las instancias AsyncLocal<T> que se registran para las notificaciones de cambios.The class that provides data change information to AsyncLocal<T> instances that register for change notifications.

CancellationToken

Propaga la notificación de que las operaciones deberían cancelarse.Propagates notification that operations should be canceled.

CancellationTokenRegistration

Representa un delegado de devolución de llamada que se ha registrado con un token CancellationToken.Represents a callback delegate that has been registered with a CancellationToken.

LockCookie

Define el bloqueo que implementa la semántica de un sistema de escritura y varios sistemas de lectura.Defines the lock that implements single-writer/multiple-reader semantics. Se trata de un tipo de valor.This is a value type.

NativeOverlapped

Proporciona un diseño explícito que se puede ver desde el código no administrado y que tendrá el mismo diseño que la estructura OVERLAPPED de Win32 con campos reservados adicionales al final.Provides an explicit layout that is visible from unmanaged code and that will have the same layout as the Win32 OVERLAPPED structure with additional reserved fields at the end.

SpinLock

Proporciona una primitiva de bloqueo de exclusión mutua donde un subproceso que intenta adquirir el bloqueo espera en un bucle repetidamente comprobando hasta que haya un bloqueo disponible.Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available.

SpinWait

Proporciona compatibilidad para la espera basada en ciclos.Provides support for spin-based waiting.

Interfaces

IThreadPoolWorkItem

Representa un elemento de trabajo que ThreadPool puede ejecutar.Represents a work item that can be executed by the ThreadPool.

Enumeraciones

ApartmentState

Especifica el estado de apartamento de un Thread.Specifies the apartment state of a Thread.

EventResetMode

Indica si un objeto EventWaitHandle se restablece automática o manualmente después de recibir una señal.Indicates whether an EventWaitHandle is reset automatically or manually after receiving a signal.

LazyThreadSafetyMode

Especifica cómo una instancia Lazy<T> sincroniza el acceso entre varios subprocesos.Specifies how a Lazy<T> instance synchronizes access among multiple threads.

LockRecursionPolicy

Especifica si el mismo subproceso puede entrar varias veces en un bloqueo.Specifies whether a lock can be entered multiple times by the same thread.

ThreadPriority

Especifica la prioridad de programación de Thread.Specifies the scheduling priority of a Thread.

ThreadState

Especifica los estados de ejecución de Thread.Specifies the execution states of a Thread.

Delegados

ContextCallback

Representa un método al que se va a llamar dentro de un nuevo contexto.Represents a method to be called within a new context.

IOCompletionCallback

Recibe el código de error, el número de bytes y el tipo de valor superpuesto cuando finaliza una operación de E/S en el grupo de subprocesos.Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool.

ParameterizedThreadStart

Representa el método que se ejecuta en Thread.Represents the method that executes on a Thread.

SendOrPostCallback

Representa el método al que hay que llamar cuando se va a enviar un mensaje a un contexto de sincronización.Represents a method to be called when a message is to be dispatched to a synchronization context.

ThreadExceptionEventHandler

Representa el método que controlará el evento ThreadException de Application.Represents the method that will handle the ThreadException event of an Application.

ThreadStart

Representa el método que se ejecuta en Thread.Represents the method that executes on a Thread.

TimerCallback

Representa el método que controla las llamadas de un Timer.Represents the method that handles calls from a Timer.

WaitCallback

Representa un método de devolución de llamada que debe ejecutar un subproceso del grupo de subprocesos.Represents a callback method to be executed by a thread pool thread.

WaitOrTimerCallback

Representa un método al que se debe llamar cuando un WaitHandle está señalado o se agota su tiempo de espera.Represents a method to be called when a WaitHandle is signaled or times out.