Compartir a través de


Microsoft.VisualStudio.Threading Espacio de nombres

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

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

Clases

AsyncAutoResetEvent

Una implementación asincrónica de autoResetEvent.

AsyncBarrier

Una barrera asincrónica que bloquea el señalización 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>

Generador de valor seguro para subprocesos evaluado de forma asincrónica y diferida.

AsyncLazyInitializer

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

AsyncLocal<T>

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

AsyncManualResetEvent

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

AsyncQueue<T>

Cola segura para subprocesos que se puede retirar 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 bloqueos que permite el acceso simultáneo, el acceso exclusivo o simultáneo con capacidad de actualización al acceso exclusivo, creando los permisos especiales para 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 awaitables para .NET 4.5.

CancellationTokenExtensions

Extensiones para CancellationToken.

DelegatingJoinableTaskFactory

Clase base de JoinableTaskFactory para tipos derivados que delegan parte del trabajo a una instancia existente.

DispatcherExtensions

Métodos de extensión para 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 .ReentrantSemaphore

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 main 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 main para la finalización de la operación.

JoinableTaskCollection

Colección de objetos incompletos JoinableTask .

JoinableTaskContext

Un contexto común en el que las tareas joinable se pueden crear 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 se debe detectar. Se produce cuando la aplicación tiene un error de programación.

JoinableTaskContextNode

Origen personalizable de instancias de JoinableTaskFactory.

JoinableTaskFactory

Generador para iniciar las tareas asincrónicas que pueden mitigar interbloqueos cuando las tareas requieren el subproceso principal de una aplicación y el subproceso principal puede estar bloqueando la finalización de una tarea.

NoMessagePumpSyncContext

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

NonConcurrentSynchronizationContext

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

ProgressWithCompletion<T>

Mecanismo de notificación de progreso incremental que también permite la espera asincrónica para todos los informes que se van a procesar.

ReentrantSemaphore

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

SemaphoreFaultedException

Excepción que se produce cuando un ReentrantSemaphore 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 recorrer a los subprocesos.

TplExtensions

Extensiones a la biblioteca TPL (Task Parallel Library, biblioteca de procesamiento paralelo basado en tareas).

Estructuras

AsyncCrossProcessMutex.LockReleaser

Valor devuelto de EnterAsync(TimeSpan) que se debe eliminar 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

Un objeto que admite await devuelto de solicitudes de bloqueo asincrónico.

AsyncReaderWriterLock.LockHandle

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

AsyncReaderWriterLock.Releaser

Valor cuya eliminación libera un bloqueo retenido.

AsyncReaderWriterLock.Suppression

Valor cuya eliminación restaura la visibilidad de cualquier bloqueo que tiene el llamador.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Un objeto que admite await devuelto de solicitudes de bloqueo asincrónico.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Administra el acceso asincrónico a un bloqueo.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Valor cuya eliminación libera un bloqueo retenido.

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 esperará al iniciarse con todas las excepciones internas.

AwaitExtensions.AggregateExceptionAwaiter

Resultado de GetAwaiter() preparar un objeto Task que se esperará al iniciarse con todas las excepciones internas.

AwaitExtensions.ConfiguredTaskYieldAwaitable

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

AwaitExtensions.ConfiguredTaskYieldAwaiter

Un awaiter que siempre llevará al método asincrónico que realiza la llamada para 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 tarea 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 tarea 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 desde GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Un objeto que admite await que ejecuta continuaciones en el programador de tareas especificado.

AwaitExtensions.TaskSchedulerAwaiter

Un awaiter devuelto desde 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 aplicable CancellationTokenSource.

JoinableTaskCollection.JoinRelease

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

JoinableTaskContext.RevertRelevance

Estructura que borra callContext y SynchronizationContext estáticas asincrónicas o subprocesos y restaura esos valores cuando se elimina esta estructura.

JoinableTaskFactory.MainThreadAwaitable

Un struct que admite await que facilita una transición asincrónica al subproceso principal.

JoinableTaskFactory.MainThreadAwaiter

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

JoinableTaskInternals.JoinableTaskToken

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

Esta biblioteca se basa en Task Parallel Library (TPL) de .NET Framework. 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 cambios en SynchronizationContext.

TplExtensions.NoThrowTaskAwaitable

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

TplExtensions.NoThrowTaskAwaiter

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

TplExtensions.NoThrowValueTaskAwaitable

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

TplExtensions.NoThrowValueTaskAwaitable<TResult>

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

TplExtensions.NoThrowValueTaskAwaiter

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

TplExtensions.NoThrowValueTaskAwaiter<TResult>

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

Interfaces

IAsyncDisposable

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

IHangReportContributor

Proporciona una capacidad de producir informes que puede resultar útil al analizar bloqueos.

Enumeraciones

AsyncReaderWriterLock.LockFlags

Marcas que modifican el comportamiento de bloqueo predeterminado.

AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags

Marcas que modifican el comportamiento de bloqueo predeterminado.

JoinableTaskCreationOptions

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

ReentrantSemaphore.ReentrancyMode

Describe cómo ReentrantSemaphore se puede comportar 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 cambian.

Delegados

AsyncEventHandler

Controlador de eventos.asincrónico.

AsyncEventHandler<TEventArgs>

Controlador de eventos.asincrónico.