Microsoft.VisualStudio.Threading Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |