Microsoft.VisualStudio.Threading Namespace

O Microsoft. O namespace VisualStudio.Threading contém APIs para uso em projetos do SDK Visual Studio. Você deve usar essas APIs para programação assíncrona em Visual Studio. Fazer isso ajuda você a evitar deadlocks

Essa biblioteca é baseada na TPL (Biblioteca Paralela de Tarefas da Estrutura) do .NET. Para obter informações sobre essa biblioteca, consulte TPL (Biblioteca Paralela de Tarefas).

Classes

Nome Description
AsyncAutoResetEvent

Uma implementação assíncrona de um AutoResetEvent.

AsyncBarrier

Uma barreira assíncrona que bloqueia o sinalizador até que todos os outros participantes tenham sinalizado.

AsyncCountdownEvent

Um evento de contagem regressiva de estilo assíncrono.

AsyncCrossProcessMutex

Um mutex que pode ser inserido de forma assíncrona.

AsyncLazy<T>

Uma fábrica de valores avaliada de forma segura, preguiçosa e assíncrona.

AsyncLazyInitializer

Executa com preguiçosa um delegado que tem algum efeito colateral (normalmente inicializando algo) de modo que o delegado seja executado no máximo uma vez.

AsyncLocal<T>

Armazena referências de modo que elas estejam disponíveis para recuperação no mesmo contexto de chamada.

AsyncManualResetEvent

Um sabor disso ManualResetEvent pode ser assíncrono aguardado.

AsyncQueue<T>

Uma fila thread-safe, assíncronamente dequeuable.

AsyncReaderWriterLock

Um bloqueio sem bloqueio que permite acesso simultâneo, acesso exclusivo ou simultâneo com capacidade de atualização para acesso exclusivo.

AsyncReaderWriterLock.Awaiter

Gerencia o acesso assíncrono a um bloqueio.

AsyncReaderWriterResourceLock<TMoniker,TResource>

Um bloqueio sem bloqueio que permite acesso simultâneo, acesso exclusivo ou simultâneo com capacidade de atualização para acesso exclusivo, fazendo concessões especiais para recursos que devem ser preparados para acesso simultâneo ou exclusivo.

AsyncSemaphore

Uma classe assíncrona SemaphoreSlim com sintaxe de versão mais conveniente.

AwaitExtensions

Métodos de extensão e awaitables para .NET 4.5.

CancellationTokenExtensions

Extensões para CancellationToken.

DelegatingJoinableTaskFactory

Uma classe base JoinableTaskFactory para tipos derivados que delegam parte de seu trabalho a uma instância existente.

DispatcherExtensions

Métodos de extensão para o WPF Dispatcher para melhor interoperabilidade com o JoinableTaskFactory.

HangReportContribution

Uma contribuição para um relatório de interrupção de agregação.

IllegalSemaphoreUsageException

Exceção que é gerada quando o contrato de um ReentrantSemaphore é violado.

JoinableTask

Controla operações assíncronas e fornece a capacidade de unir essas operações para evitar deadlocks, bloqueando de forma síncrona o thread Principal para a conclusão da operação.

JoinableTask<T>

Controla operações assíncronas e fornece a capacidade de unir essas operações para evitar deadlocks, bloqueando de forma síncrona o thread Principal para a conclusão da operação.

JoinableTaskCollection

Uma coleção de objetos incompletos JoinableTask .

JoinableTaskContext

Um contexto comum no qual tarefas ingressáveis podem ser criadas e interagir para evitar deadlocks.

JoinableTaskContext.HangDetails

Uma classe para encapsular os detalhes de um possível travamento. Uma instância dessa JoinableTaskContext.HangDetails classe será passada para as JoinableTaskContextNode instâncias que registraram as notificações de travamento.

JoinableTaskContextException

Uma exceção gerada quando a configuração fornecida para o JoinableTaskContext são incorretas ou um método virtual é substituído de modo que viola um contrato. Essa exceção não deve ser capturada. Ele é gerado quando o aplicativo tem uma falha de programação.

JoinableTaskContextNode

Uma fonte personalizável de JoinableTaskFactory instâncias.

JoinableTaskFactory

Uma fábrica para iniciar tarefas assíncronas que podem atenuar deadlocks quando as tarefas exigem o thread Principal de um aplicativo e o thread Principal pode estar bloqueando a conclusão de uma tarefa.

NoMessagePumpSyncContext

Um SynchronizationContext cujo método de espera de bloqueio síncrono não permite qualquer reentração por meio da bomba de mensagem.

NonConcurrentSynchronizationContext

Um SynchronizationContext que executa mensagens na ordem em que são recebidas.

ProgressWithCompletion<T>

Um mecanismo de relatório de progresso incremental que também permite a espera assíncrona para que todos os relatórios sejam processados.

ReentrantSemaphore

Um JoinableTaskFactorysemáforo com reconhecimento que permite a reentração sem consumir outro slot no semáforo.

SemaphoreFaultedException

Exceção gerada quando um ReentrantSemaphore está em um estado com falha.

SingleThreadedSynchronizationContext

Um contexto de sincronização de thread único, semelhante ao DispatcherSynchronizationContext e WindowsFormsSynchronizationContext.

SingleThreadedSynchronizationContext.Frame

Um quadro de bombeamento de mensagem que pode ser enviado PushFrame(SingleThreadedSynchronizationContext+Frame) por push para bombear mensagens no thread proprietário.

ThreadingTools

Métodos utilitários para trabalhar em threads.

TplExtensions

Extensões para a Biblioteca Paralela de Tarefas.

Estruturas

Nome Description
AsyncCrossProcessMutex.LockReleaser

O valor retornado deve EnterAsync(TimeSpan) ser descartado para liberar o mutex.

AsyncLazy<T>.RevertRelevance

Uma estrutura que oculta a relevância de um bloco de código de um determinado AsyncLazy<T> e com a JoinableTaskContext qual ele foi criado.

AsyncReaderWriterLock.Awaitable

Um aguardável que é retornado de solicitações de bloqueio assíncronas.

AsyncReaderWriterLock.LockHandle

Uma representação "pública" de um bloqueio específico.

AsyncReaderWriterLock.Releaser

Um valor cujo descarte libera um bloqueio mantido.

AsyncReaderWriterLock.Suppression

Um valor cujo descarte restaura a visibilidade de todos os bloqueios mantidos pelo chamador.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Um aguardável que é retornado de solicitações de bloqueio assíncronas.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Gerencia o acesso assíncrono a um bloqueio.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Um valor cujo descarte libera um bloqueio mantido.

AsyncSemaphore.Releaser

Um valor cujo descarte dispara a liberação de um bloqueio.

AwaitExtensions.AggregateExceptionAwaitable

O resultado de ConfigureAwaitForAggregateException(Task, Boolean) preparar um Task a ser aguardado durante o lançamento com todas as exceções internas.

AwaitExtensions.AggregateExceptionAwaiter

O resultado de GetAwaiter() preparar um Task a ser aguardado durante o lançamento com todas as exceções internas.

AwaitExtensions.ConfiguredTaskYieldAwaitable

Um aguardado que sempre levará o método assíncrono de chamada a produzir e, em seguida, retomar imediatamente, possivelmente no original SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Um aguardador que sempre levará o método assíncrono de chamada a produzir e, em seguida, retomar imediatamente, possivelmente no original SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Uma tarefa aguardada que tem afinidade com a execução de retornos de chamada de forma síncrona na conclusão da captura de chamadas.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Uma tarefa aguardada que tem afinidade com a execução de retornos de chamada de forma síncrona na conclusão da captura de chamadas.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Um aguardador de tarefas que tem afinidade com a execução de retornos de chamada de forma síncrona na captura de chamadas de conclusão.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Um aguardador de tarefas que tem afinidade com a execução de retornos de chamada de forma síncrona na captura de chamadas de conclusão.

AwaitExtensions.SynchronizationContextAwaiter

Um aguardador retornado de GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Um aguardável que executa continuações no agendador de tarefas especificado.

AwaitExtensions.TaskSchedulerAwaiter

Um aguardador retornado de GetAwaiter(TaskScheduler).

CancellationTokenExtensions.CombinedCancellationToken

Fornece acesso a um CancellationToken que combina vários outros tokens e permite o descarte conveniente de qualquer aplicável CancellationTokenSource.

JoinableTaskCollection.JoinRelease

Um valor cujo descarte cancela uma Join() operação.

JoinableTaskContext.RevertRelevance

Uma estrutura que limpa a estática assíncrona de CallContext e SynchronizationContext e restaura esses valores quando essa estrutura é descartada.

JoinableTaskFactory.MainThreadAwaitable

Um struct aguardável que facilita uma transição assíncrona para o thread Principal.

JoinableTaskFactory.MainThreadAwaiter

Um struct de awaiter que facilita uma transição assíncrona para o thread Principal.

JoinableTaskFactory.ProcessingDisabledOperation

Um struct cujo descarte reverterá o efeito de uma chamada anterior para DisableProcessing().

JoinableTaskInternals.JoinableTaskToken

O Microsoft. O namespace VisualStudio.Threading contém APIs para uso em projetos do SDK Visual Studio. Você deve usar essas APIs para programação assíncrona em Visual Studio. Fazer isso ajuda você a evitar deadlocks

Essa biblioteca é baseada na TPL (Biblioteca Paralela de Tarefas da Estrutura) do .NET. Para obter informações sobre essa biblioteca, consulte TPL (Biblioteca Paralela de Tarefas).

ReentrantSemaphore.RevertRelevance

Uma estrutura que oculta qualquer evidência de que o chamador inseriu um ReentrantSemaphore até que esse valor seja descartado.

SpecializedSyncContext

Uma estrutura que aplica e reverte alterações no SynchronizationContext.

TplExtensions.NoThrowTaskAwaitable

Um aguardado que encapsula uma tarefa e nunca gera uma exceção quando aguardado.

TplExtensions.NoThrowTaskAwaiter

Um aguardador que encapsula uma tarefa e nunca gera uma exceção quando aguardado.

TplExtensions.NoThrowValueTaskAwaitable

Um aguardado que encapsula uma tarefa e nunca gera uma exceção quando aguardado.

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Um aguardável que encapsula um ValueTask<TResult> e nunca gera uma exceção quando aguardado.

TplExtensions.NoThrowValueTaskAwaiter

Um aguardador que encapsula uma tarefa e nunca gera uma exceção quando aguardado.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

Um aguardador que encapsula uma tarefa e nunca gera uma exceção quando aguardado.

Interfaces

Nome Description
IAsyncDisposable

Define um método assíncrono para liberar recursos alocados.

IHangReportContributor

Fornece uma instalação para produzir relatórios que podem ser úteis ao analisar travamentos.

Enumerações

Nome Description
AsyncReaderWriterLock.LockFlags

Sinalizadores que modificam o comportamento de bloqueio padrão.

AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags

Sinalizadores que modificam o comportamento de bloqueio padrão.

JoinableTaskCreationOptions

Especifica sinalizadores que controlam o comportamento opcional para a criação e execução de tarefas.

ReentrantSemaphore.ReentrancyMode

Descreve as maneiras ReentrantSemaphore de se comportar quando uma solicitação de semáforo é feita em um contexto que já está no semáforo.

RegistryChangeNotificationFilters

Os vários tipos de dados em uma chave do Registro que geram notificações quando alterados.

Delegados

Nome Description
AsyncEventHandler

Um manipulador de eventos assíncrono.

AsyncEventHandler<TEventArgs>

Um manipulador de eventos assíncrono.