System.Threading (Espacios de nombres)
Los espacios de nombres System.Threading, System.Threading.Tasks y System.Threading.Tasks.DataFlow contienen tipos que habilitan la programación multiproceso y que simplifican la escritura de código simultáneo y asincrónico.
Este tema muestra los tipos en los espacios de nombres System.Threading, System.Threading.Tasks y System.Threading.Tasks.DataFlow que se incluyen en .NET para aplicaciones de la Tienda Windows o que se pueden instalar y usar para crear aplicaciones de Tienda Windows. Ten en cuenta que .NET para aplicaciones de la Tienda Windows no incluye todos los miembros de cada tipo. Para obtener información sobre los tipos individuales, consulta los temas vinculados. La documentación para un tipo indica qué miembros se incluyen en .NET para aplicaciones de la Tienda Windows.
Para instalar el espacio de nombres System.Threading.Tasks.Dataflow, abre el proyecto en Visual Studio 2012 o posterior, elige Administrar paquetes NuGet en el menú Proyecto y busca en línea el paquete Microsoft.Tpl.Dataflow.
System.Threading (espacio de nombres)
Tipos admitidos en .NET para aplicaciones de la Tienda Windows |
Descripción |
---|---|
Excepción que se produce cuando un subproceso adquiere un objeto Mutex que otro subproceso ha abandonado al salir dejarlo libre. |
|
Notifica que se ha producido un evento a un subproceso en espera. Esta clase no puede heredarse. |
|
Habilita varias tareas para que colaboren en un algoritmo en paralelo en varias fases. |
|
Excepción que se inicia cuando se produce un error en la acción posterior a la fase de Barrier. |
|
Propaga la notificación de que las operaciones deberían cancelarse. |
|
Representa un delegado de devolución de llamada que se ha registrado con un CancellationToken. |
|
Señala un objeto CancellationToken que debe cancelarse. |
|
Representa una primitiva de sincronización que está señalada cuando su recuento alcanza el valor cero. |
|
Indica si un objeto EventWaitHandle se restablece automática o manualmente después de recibir una señal. |
|
Representa un evento de sincronización de subprocesos. |
|
Proporciona operaciones atómicas para las variables compartidas por varios subprocesos. |
|
Proporciona rutinas de inicialización diferida. |
|
Especifica cómo una instancia Lazy<T> sincroniza el acceso entre varios subprocesos. |
|
Excepción que se inicia cuando la entrada recursiva en un bloqueo no es compatible con la directiva de recursión del bloqueo. |
|
Especifica si el mismo subproceso puede entrar varias veces en un bloqueo. |
|
Notifica que se ha producido un evento a uno o varios subprocesos en espera. Esta clase no puede heredarse. |
|
Proporciona una versión reducida de ManualResetEvent. |
|
Proporciona un mecanismo que sincroniza el acceso a los objetos. |
|
Primitiva de sincronización que puede usarse también para la sincronización entre procesos. |
|
Representa un bloqueo que se usa para administrar el acceso a un recurso y que permite que varios subprocesos lean o tengan acceso exclusivo a escritura. |
|
Limita el número de subprocesos que pueden tener acceso a un recurso o grupo de recursos simultáneamente. |
|
Excepción que se produce cuando se llama al método Release en un semáforo cuyo recuento ya se encuentra en el máximo. |
|
Alternativa ligera a Semaphore que limita el número de subprocesos que pueden obtener acceso de forma simultánea a un recurso o a un grupo de recursos. |
|
Representa un método al que hay que llamar cuando se va a enviar un mensaje a un contexto de sincronización. |
|
Proporciona una primitiva de bloqueo de exclusión mutua donde un subproceso que intenta adquirir el bloqueo espera en un bucle y realiza comprobaciones repetidamente hasta que haya un bloqueo disponible. |
|
Proporciona compatibilidad para la espera basada en ciclos. |
|
Proporciona la funcionalidad básica para difundir un contexto de sincronización en varios modelos de sincronización. |
|
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. |
|
Proporciona almacenamiento local de los datos de un subproceso. |
|
Contiene las constantes que especifican intervalos de tiempo de espera infinitos. Esta clase no puede heredarse. |
|
Contiene los métodos para realizar operaciones de memoria volátil. |
|
Encapsula los objetos específicos del sistema operativo que esperan obtener un acceso exclusivo a los recursos compartidos. |
|
Excepción que se produce cuando se intenta abrir una Exclusión mutua del sistema o semáforo que no existe. |
System.Threading.Tasks (espacio de nombres)
Tipos admitidos en .NET para aplicaciones de la Tienda Windows |
Descripción |
---|---|
Proporciona programadores de tareas simultáneos y exclusivos que se coordinan para ejecutar las tareas a la vez que garantizan que las tareas simultáneas puedan ejecutarse en paralelo y que las tareas excluyentes nunca lo hagan así. |
|
Proporciona compatibilidad con regiones y bucles paralelos. |
|
Proporciona el estado de realización en la ejecución de un bucle paralelo. |
|
Habilita iteraciones de bucles paralelos para interactuar con otras iteraciones. La clase Parallel proporciona una instancia de esta clase para cada bucle; no se pueden crear instancias en el código de usuario. |
|
Almacena las opciones que configuran el funcionamiento de los métodos en la clase Parallel. |
|
Representa una operación asincrónica. |
|
Representa una operación asincrónica que puede devolver un valor. |
|
Representa una excepción usada para comunicar la cancelación de la tarea. |
|
Representa el extremo del productor de una Task<TResult> que no está enlazada a un delegado, de forma que proporciona acceso al extremo del consumidor a través de la propiedad TaskCompletionSource<T>.Task. |
|
Especifica el comportamiento de una tarea que se crea usando el método ContinueWith o Task<T>.ContinueWith. |
|
Especifica las marcas que controlan el comportamiento opcional de la creación y ejecución de tareas. |
|
Proporciona un conjunto de métodos estáticos (Shared en Visual Basic) para que funcionen con determinados tipos de instancias Task. |
|
Proporciona compatibilidad para crear y programar objetos Task. |
|
Proporciona compatibilidad para crear y programar objetos Task<T>. |
|
Representa un objeto que administra el trabajo de bajo nivel de poner en cola tareas en los subprocesos. |
|
Representa una excepción que se usa para comunicar una operación no válida de un TaskScheduler. |
|
Representa la fase actual del ciclo de vida de una tarea. |
|
Proporciona datos para el evento generado cuando una excepción errónea de la tarea pasa inadvertida. |
System.Threading.Tasks.DataFlow (espacio de nombres)
Para instalar el espacio de nombres System.Threading.Tasks.Dataflow, abre el proyecto en Visual Studio 2012, elige Administrar paquetes NuGet en el menú Proyecto y busca en línea el paquete Microsoft.Tpl.Dataflow.
Tipos admitidos en .NET para aplicaciones de la Tienda Windows |
Descripción |
---|---|
Proporciona un bloque de flujo de datos que invoca un delegado de Action<T> para cada elemento de datos recibido. |
|
Proporciona un bloque de flujo de datos que procesa por lotes las entradas en las matrices. |
|
Proporciona un bloque de flujo de datos que procesa por lotes un número especificado de entradas de tipos potencialmente distintos que se suministran a uno o más de sus destinos. |
|
Proporciona un bloque de flujo de datos que procesa por lotes un número especificado de entradas de tipos potencialmente distintos que se suministran a uno o más de sus destinos. |
|
Proporciona un búfer para almacenar a lo sumo un elemento de cada vez, reemplazando cada mensaje con el siguiente a medida que van llegando. Los mensajes se difunden a todos los destinos vinculados; todos ellos pueden usar un clon del mensaje. |
|
Proporciona un búfer para almacenar datos. |
|
Proporciona un conjunto de métodos estáticos (Shared en Visual Basic) para que funcionen con bloques de flujo de datos. |
|
Proporciona las opciones usadas para configurar el procesamiento que realizan los bloques de flujo de datos. |
|
Proporciona las opciones usadas para configurar un vínculo entre bloques de flujo de datos. |
|
Proporciona un contenedor de atributos de datos para pasarlo entre los bloques de flujo de datos. |
|
Representa el estado de un elemento DataflowMessageHeader cuando se pasa entre bloques de flujo de datos. |
|
Proporciona las opciones usadas para configurar el procesamiento realizado por los bloques de flujo de datos que procesan cada mensaje mediante la invocación de un delegado proporcionado por el usuario. Se trata de bloques de flujo de datos como ActionBlock<TInput> y TransformBlock<TInput, TOutput>. |
|
Proporciona las opciones usadas para configurar el procesamiento que realizan los bloques de flujo de datos que agrupan varios mensajes. Se trata de bloques de flujo de datos como JoinBlock<T1, T2> y BatchBlock<T>. |
|
Representa un bloque de flujo de datos. |
|
Representa un bloque de flujo de datos que es tanto un destino como un origen de datos. |
|
Representa un bloque de flujo de datos que admite la recepción de mensajes sin vincular. |
|
Representa un bloque de flujo de datos que es un origen de datos. |
|
Representa un bloque de flujo de datos que es un destino de datos. |
|
Proporciona un bloque de flujo de datos que combina varios orígenes de flujo de datos, que no son necesariamente del mismo tipo, donde se espera a que llegue un elemento para cada tipo antes de que todos queden libres de forma conjunta como una tupla que contiene un elemento por tipo. |
|
Proporciona un bloque de flujo de datos que combina varios orígenes de flujo de datos, que no son necesariamente del mismo tipo, donde se espera a que llegue un elemento para cada tipo antes de que todos queden libres de forma conjunta como una tupla que contiene un elemento por tipo. |
|
Proporciona un bloque de flujo de datos que invoca un delegado de Func<T, TResult> para cada elemento de datos recibido. |
|
Proporciona un bloque de flujo de datos que invoca un delegado de Func<T, TResult> para cada elemento de datos recibido. |
|
Proporciona un búfer para recibir y almacenar a lo sumo un elemento en una red de bloques de flujo de datos. |