Compartilhar via


Microsoft.VisualStudio.Threading Namespace

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

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

Classes

AsyncAutoResetEvent

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

AsyncBarrier

Uma barreira assíncrona que bloqueia o sinal 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 de forma 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 de ManualResetEvent que pode ser assíncronamente aguardado.

AsyncQueue<T>

Uma fila segura por thread, 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 como 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 travamento agregado.

IllegalSemaphoreUsageException

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

JoinableTask

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

JoinableTask<T>

Rastreia operações assíncronas e fornece a capacidade de ingressar nessas 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 interagem 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 ao JoinableTaskContext está incorreta ou um método virtual é substituído de modo que viole 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 wait de bloqueio síncrono não permite qualquer reentrância 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 reentrância 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 entre threads.

TplExtensions

Extensões para a Biblioteca Paralela de Tarefas.

Estruturas

AsyncCrossProcessMutex.LockReleaser

O valor retornado de EnterAsync(TimeSpan) que deve 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 o com o JoinableTaskContext qual ele foi criado.

AsyncReaderWriterLock.Awaitable

Um awaitable 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 awaitable 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) para preparar um Task a ser aguardado durante o lançamento com todas as exceções internas.

AwaitExtensions.AggregateExceptionAwaiter

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

AwaitExtensions.ConfiguredTaskYieldAwaitable

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

AwaitExtensions.ConfiguredTaskYieldAwaiter

Um awaiter 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 aguardável que tem afinidade com a execução de retornos de chamada de forma síncrona no conjunto de chamadas de conclusão.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Uma Tarefa aguardável que tem afinidade com a execução de retornos de chamada de forma síncrona no conjunto de chamadas de conclusão.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Um aguardador de tarefas que tem afinidade com a execução de retornos de chamada de forma síncrona no conjunto 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 no conjunto de chamadas de conclusão.

AwaitExtensions.SynchronizationContextAwaiter

Um awaiter retornado de GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Um awaitable que executa continuações no agendador de tarefas especificado.

AwaitExtensions.TaskSchedulerAwaiter

Um awaiter 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 CallContext e SynchronizationContext estática assíncrona/thread 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 awaiter que facilita uma transição assíncrona para o thread Principal.

JoinableTaskInternals.JoinableTaskToken

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

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

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 awaitable que encapsula uma tarefa e nunca gera uma exceção quando aguardado.

TplExtensions.NoThrowTaskAwaiter

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

TplExtensions.NoThrowValueTaskAwaitable

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

TplExtensions.NoThrowValueTaskAwaitable<TResult>

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

TplExtensions.NoThrowValueTaskAwaiter

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

TplExtensions.NoThrowValueTaskAwaiter<TResult>

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

Interfaces

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 travas.

Enumerações

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 os sinalizadores que controlam o comportamento opcional para a criação e a execução de tarefas.

ReentrantSemaphore.ReentrancyMode

Descreve como o ReentrantSemaphore pode 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 dentro de uma chave do Registro que geram notificações quando alterados.

Delegados

AsyncEventHandler

Um manipulador de eventos assíncrono.

AsyncEventHandler<TEventArgs>

Um manipulador de eventos assíncrono.