Microsoft.VisualStudio.Threading Espacio de nombres

El Microsoft. El espacio de nombres VisualStudio.Threading contiene API para su uso en proyectos de SDK de Visual Studio. Debe usar estas API para la programación asincrónica en Visual Studio. Esto le ayuda a evitar interbloqueos

Esta biblioteca se basa en la biblioteca paralela de tareas de .NET Framework (TPL). Para obtener información sobre esta biblioteca, vea Biblioteca paralela de tareas (TPL).

Clases

Nombre Description
AsyncAutoResetEvent

Una implementación asincrónica de autoResetEvent.

AsyncBarrier

Una barrera asincrónica que bloquea el señalizador hasta que todos los demás participantes hayan señalado.

AsyncCountdownEvent

Evento de cuenta atrás de estilo asincrónico.

AsyncCrossProcessMutex

Exclusión mutua que se puede introducir de forma asincrónica.

AsyncLazy<T>

Una factoría de valores segura para subprocesos, diferida y evaluada de forma asincrónica.

AsyncLazyInitializer

Ejecuta de forma diferir un delegado que tiene algún efecto secundario (normalmente inicializando algo) de forma que el delegado se ejecute como máximo una vez.

AsyncLocal<T>

Almacena referencias de modo que estén disponibles para la recuperación en el mismo contexto de llamada.

AsyncManualResetEvent

Un sabor de ManualResetEvent que se puede esperar de forma asincrónica.

AsyncQueue<T>

Una cola segura para subprocesos y desqueuable de forma asincrónica.

AsyncReaderWriterLock

Bloqueo sin bloqueo que permite el acceso simultáneo, el acceso exclusivo o la capacidad de actualización al acceso exclusivo.

AsyncReaderWriterLock.Awaiter

Administra el acceso asincrónico a un bloqueo.

AsyncReaderWriterResourceLock<TMoniker,TResource>

Bloqueo sin bloqueo que permite el acceso simultáneo, el acceso exclusivo o la capacidad de actualización para el acceso exclusivo, lo que hace asignaciones especiales para los recursos que deben estar preparados para el acceso simultáneo o exclusivo.

AsyncSemaphore

Una clase asincrónica SemaphoreSlim como con una sintaxis de versión más cómoda.

AwaitExtensions

Métodos de extensión y esperables para .NET 4.5.

CancellationTokenExtensions

Extensiones a CancellationToken.

DelegatingJoinableTaskFactory

Una clase base JoinableTaskFactory para los tipos derivados que deleguen parte de su trabajo a una instancia existente.

DispatcherExtensions

Métodos de extensión para el WPF Dispatcher para una mejor interoperabilidad con .JoinableTaskFactory

HangReportContribution

Contribución a un informe de bloqueo agregado.

IllegalSemaphoreUsageException

Excepción que se produce cuando se infringe el contrato de un ReentrantSemaphore objeto .

JoinableTask

Realiza un seguimiento de las operaciones asincrónicas y proporciona la capacidad de unir esas operaciones para evitar interbloqueos mientras bloquea sincrónicamente el subproceso principal para la finalización de la operación.

JoinableTask<T>

Realiza un seguimiento de las operaciones asincrónicas y proporciona la capacidad de unir esas operaciones para evitar interbloqueos mientras bloquea sincrónicamente el subproceso principal para la finalización de la operación.

JoinableTaskCollection

Colección de objetos incompletos JoinableTask .

JoinableTaskContext

Un contexto común en el que se pueden crear tareas que se pueden unir e interactuar para evitar interbloqueos.

JoinableTaskContext.HangDetails

Clase para encapsular los detalles de un posible bloqueo. Se pasará una instancia de esta JoinableTaskContext.HangDetails clase a las JoinableTaskContextNode instancias que registraron las notificaciones de bloqueo.

JoinableTaskContextException

Se produce una excepción cuando la configuración proporcionada a JoinableTaskContext son incorrectas o se invalida un método virtual de modo que infringe un contrato. Esta excepción no debe detectarse. Se produce cuando la aplicación tiene un error de programación.

JoinableTaskContextNode

Origen personalizable de JoinableTaskFactory instancias.

JoinableTaskFactory

Generador para iniciar tareas asincrónicas que pueden mitigar los interbloqueos cuando las tareas requieren el subproceso principal de una aplicación y el subproceso main puede bloquearse al completar una tarea.

NoMessagePumpSyncContext

SynchronizationContext cuyo método Wait de bloqueo sincrónico no permite ninguna reentrada a través de la bomba de mensajes.

NonConcurrentSynchronizationContext

que SynchronizationContext ejecuta mensajes en el orden en que se reciben.

ProgressWithCompletion<T>

Un mecanismo de informes de progreso incremental que también permite procesar los informes asincrónicos en espera de que se procesen todos los informes.

ReentrantSemaphore

Semáforo JoinableTaskFactorycompatible que permite la reentrada sin consumir otra ranura en el semáforo.

SemaphoreFaultedException

Excepción que se produce cuando ReentrantSemaphore un objeto está en un estado con errores.

SingleThreadedSynchronizationContext

Un contexto de sincronización de un solo subproceso, similar a DispatcherSynchronizationContext y WindowsFormsSynchronizationContext.

SingleThreadedSynchronizationContext.Frame

Un marco de bombeo de mensajes que se puede insertar con PushFrame(SingleThreadedSynchronizationContext+Frame) para bombear mensajes en el subproceso propietario.

ThreadingTools

Métodos de utilidad para trabajar entre subprocesos.

TplExtensions

Extensiones a la biblioteca paralela de tareas.

Estructuras

Nombre Description
AsyncCrossProcessMutex.LockReleaser

Valor devuelto de EnterAsync(TimeSpan) que se debe desechar para liberar la exclusión mutua.

AsyncLazy<T>.RevertRelevance

Estructura que oculta la relevancia de un bloque de código de un determinado AsyncLazy<T> y con el JoinableTaskContext que se creó.

AsyncReaderWriterLock.Awaitable

Objeto awaitable que se devuelve de solicitudes de bloqueo asincrónicas.

AsyncReaderWriterLock.LockHandle

Representación "pública" de un bloqueo específico.

AsyncReaderWriterLock.Releaser

Valor cuya eliminación libera un bloqueo mantenido.

AsyncReaderWriterLock.Suppression

Valor cuya eliminación restaura la visibilidad de los bloqueos mantenidos por el autor de la llamada.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Objeto awaitable que se devuelve de solicitudes de bloqueo asincrónicas.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Administra el acceso asincrónico a un bloqueo.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Valor cuya eliminación libera un bloqueo mantenido.

AsyncSemaphore.Releaser

Valor cuya eliminación desencadena la liberación de un bloqueo.

AwaitExtensions.AggregateExceptionAwaitable

Resultado de ConfigureAwaitForAggregateException(Task, Boolean) preparar un objeto Task que se va a esperar mientras se produce con todas las excepciones internas.

AwaitExtensions.AggregateExceptionAwaiter

Resultado de GetAwaiter() preparar un objeto Task que se va a esperar mientras se produce con todas las excepciones internas.

AwaitExtensions.ConfiguredTaskYieldAwaitable

Un objeto awaitable que siempre llevará al método asincrónico de llamada a producir y, a continuación, reanudará inmediatamente, posiblemente en el original SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Un awaiter que siempre llevará al método asincrónico de llamada a producir y, a continuación, reanudar inmediatamente, posiblemente en el original SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Tarea esperada que tiene afinidad con la ejecución de devoluciones de llamada de forma sincrónica en la pila de llamadas completa.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Tarea esperada que tiene afinidad con la ejecución de devoluciones de llamada de forma sincrónica en la pila de llamadas completa.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Un awaiter de tareas que tiene afinidad con la ejecución de devoluciones de llamada de forma sincrónica en la pila de llamadas completa.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Un awaiter de tareas que tiene afinidad con la ejecución de devoluciones de llamada de forma sincrónica en la pila de llamadas completa.

AwaitExtensions.SynchronizationContextAwaiter

Un awaiter devuelto de GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Objeto awaitable que ejecuta continuaciones en el programador de tareas especificado.

AwaitExtensions.TaskSchedulerAwaiter

Un awaiter devuelto de GetAwaiter(TaskScheduler).

CancellationTokenExtensions.CombinedCancellationToken

Proporciona acceso a un CancellationToken objeto que combina varios otros tokens y permite la eliminación cómoda de cualquier aplicación.CancellationTokenSource

JoinableTaskCollection.JoinRelease

Valor cuya eliminación cancela una Join() operación.

JoinableTaskContext.RevertRelevance

Estructura que borra CallContext y SynchronizationContext async/thread estáticos y restaura esos valores cuando esta estructura se elimina.

JoinableTaskFactory.MainThreadAwaitable

Estructura esperada que facilita una transición asincrónica al subproceso principal.

JoinableTaskFactory.MainThreadAwaiter

Estructura awaiter que facilita una transición asincrónica al subproceso main.

JoinableTaskFactory.ProcessingDisabledOperation

Estructura cuya eliminación revertirá el efecto de una llamada anterior a DisableProcessing().

JoinableTaskInternals.JoinableTaskToken

El Microsoft. El espacio de nombres VisualStudio.Threading contiene API para su uso en proyectos de SDK de Visual Studio. Debe usar estas API para la programación asincrónica en Visual Studio. Esto le ayuda a evitar interbloqueos

Esta biblioteca se basa en la biblioteca paralela de tareas de .NET Framework (TPL). Para obtener información sobre esta biblioteca, vea Biblioteca paralela de tareas (TPL).

ReentrantSemaphore.RevertRelevance

Estructura que oculta cualquier evidencia que el autor de la llamada haya escrito hasta ReentrantSemaphore que se elimine este valor.

SpecializedSyncContext

Estructura que aplica y revierte los cambios a .SynchronizationContext

TplExtensions.NoThrowTaskAwaitable

Un objeto await que encapsula una tarea y nunca produce una excepción cuando se espera.

TplExtensions.NoThrowTaskAwaiter

Un awaiter que encapsula una tarea y nunca produce una excepción cuando se espera.

TplExtensions.NoThrowValueTaskAwaitable

Un objeto await que encapsula una tarea y nunca produce una excepción cuando se espera.

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Un objeto await que encapsula y ValueTask<TResult> nunca produce una excepción cuando se espera.

TplExtensions.NoThrowValueTaskAwaiter

Un awaiter que encapsula una tarea y nunca produce una excepción cuando se espera.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

Un awaiter que encapsula una tarea y nunca produce una excepción cuando se espera.

Interfaces

Nombre Description
IAsyncDisposable

Define un método asincrónico para liberar los recursos asignados.

IHangReportContributor

Proporciona una instalación para generar informes que pueden resultar útiles al analizar los bloqueos.

Enumeraciones

Nombre Description
AsyncReaderWriterLock.LockFlags

Marcas que modifican el comportamiento de bloqueo predeterminado.

AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags

Marcas que modifican el comportamiento de bloqueo predeterminado.

JoinableTaskCreationOptions

Especifica marcas que controlan el comportamiento opcional para la creación y ejecución de tareas.

ReentrantSemaphore.ReentrancyMode

Describe cómo ReentrantSemaphore puede comportarse cuando se realiza una solicitud de semáforo en un contexto que ya está en el semáforo.

RegistryChangeNotificationFilters

Los distintos tipos de datos dentro de una clave del Registro que generan notificaciones cuando se cambian.

Delegados

Nombre Description
AsyncEventHandler

Un controlador de eventos asincrónico.

AsyncEventHandler<TEventArgs>

Un controlador de eventos asincrónico.