Microsoft.VisualStudio.Threading Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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. |