Microsoft.VisualStudio.Threading Spazio dei nomi

Microsoft. Lo spazio dei nomi VisualStudio.Threading contiene LE API da usare nei progetti SDK di Visual Studio. È consigliabile usare queste API per la programmazione asincrona in Visual Studio. In questo modo è possibile evitare deadlock

Questa libreria si basa su .NET Framework Task Parallel Library (TPL). Per informazioni su questa libreria, vedere Task Parallel Library (TPL).

Classi

Nome Descrizione
AsyncAutoResetEvent

Implementazione asincrona di un oggetto AutoResetEvent.

AsyncBarrier

Barriera asincrona che blocca il segnale fino a quando tutti gli altri partecipanti non hanno segnalato.

AsyncCountdownEvent

Evento di conto alla rovescia dello stile asincrono.

AsyncCrossProcessMutex

Mutex che può essere immesso in modo asincrono.

AsyncLazy<T>

Factory di valori thread-safe, lazily e asincronamente valutata.

AsyncLazyInitializer

Lazily esegue un delegato che ha un effetto collaterale (in genere inizializzando qualcosa) in modo che il delegato venga eseguito al massimo una volta.

AsyncLocal<T>

Archivia i riferimenti in modo che siano disponibili per il recupero nello stesso contesto di chiamata.

AsyncManualResetEvent

Un sapore di ManualResetEvent che può essere atteso in modo asincrono.

AsyncQueue<T>

Coda dequeubile in modo asincrono thread-safe.

AsyncReaderWriterLock

Blocco non bloccante che consente l'accesso simultaneo, l'accesso esclusivo o simultaneo con l'aggiornamento all'accesso esclusivo.

AsyncReaderWriterLock.Awaiter

Gestisce l'accesso asincrono a un blocco.

AsyncReaderWriterResourceLock<TMoniker,TResource>

Blocco non bloccante che consente l'accesso simultaneo, l'accesso esclusivo o simultaneo con l'aggiornamento all'accesso esclusivo, rendendo speciali le quote per le risorse che devono essere preparate per l'accesso simultaneo o esclusivo.

AsyncSemaphore

Una classe asincrona SemaphoreSlim come quella con una sintassi di rilascio più comoda.

AwaitExtensions

Metodi di estensione e awaitable per .NET 4.5.

CancellationTokenExtensions

Estensioni a CancellationToken.

DelegatingJoinableTaskFactory

Classe di base JoinableTaskFactory per i tipi derivati che delegano parte del lavoro a un'istanza esistente.

DispatcherExtensions

Metodi di estensione per il macchine virtuali Windows Dispatcher per migliorare l'interoperabilità con .JoinableTaskFactory

HangReportContribution

Contributo a un report di blocco aggregato.

IllegalSemaphoreUsageException

Eccezione generata quando viene violato il contratto di un oggetto ReentrantSemaphore .

JoinableTask

Tiene traccia delle operazioni asincrone e consente di unire tali operazioni per evitare deadlock bloccando in modo sincrono il thread principale per il completamento dell'operazione.

JoinableTask<T>

Tiene traccia delle operazioni asincrone e consente di unire tali operazioni per evitare deadlock bloccando in modo sincrono il thread principale per il completamento dell'operazione.

JoinableTaskCollection

Raccolta di oggetti incompleti JoinableTask .

JoinableTaskContext

Contesto comune in cui è possibile creare attività joinable e interagire per evitare deadlock.

JoinableTaskContext.HangDetails

Classe per incapsulare i dettagli di un possibile blocco. Un'istanza di questa JoinableTaskContext.HangDetails classe verrà passata alle JoinableTaskContextNode istanze che hanno registrato le notifiche di blocco.

JoinableTaskContextException

Eccezione generata quando la configurazione fornita a è errata o viene eseguito l'override JoinableTaskContext di un metodo virtuale in modo da violare un contratto. Questa eccezione non deve essere intercettata. Viene generata quando l'applicazione presenta un errore di programmazione.

JoinableTaskContextNode

Origine personalizzabile delle JoinableTaskFactory istanze.

JoinableTaskFactory

Factory per l'avvio di attività asincrone che possono ridurre i deadlock quando le attività richiedono il thread principale di un'applicazione e il thread principale potrebbe bloccarsi al completamento di un'attività.

NoMessagePumpSyncContext

SynchronizationContext il cui metodo Wait bloccante in modo sincrono non consente alcuna reentrancy tramite il message pump.

NonConcurrentSynchronizationContext

Oggetto SynchronizationContext che esegue i messaggi nell'ordine in cui vengono ricevuti.

ProgressWithCompletion<T>

Meccanismo di segnalazione incrementale dello stato che consente anche l'attesa asincrona di tutti i report da elaborare.

ReentrantSemaphore

Semaforo JoinableTaskFactorycompatibile con che consente la reentrancy senza utilizzare un altro slot nel semaforo.

SemaphoreFaultedException

Eccezione generata quando un ReentrantSemaphore oggetto si trova in uno stato di errore.

SingleThreadedSynchronizationContext

Contesto di sincronizzazione a thread singolo, simile a DispatcherSynchronizationContext e WindowsFormsSynchronizationContext.

SingleThreadedSynchronizationContext.Frame

Frame di pompa di messaggi che può essere inserito con PushFrame(SingleThreadedSynchronizationContext+Frame) per pompare i messaggi sul thread proprietario.

ThreadingTools

Metodi di utilità per lavorare tra thread.

TplExtensions

Estensioni alla libreria parallela di attività.

Struct

Nome Descrizione
AsyncCrossProcessMutex.LockReleaser

Valore restituito da EnterAsync(TimeSpan) che deve essere eliminato per rilasciare il mutex.

AsyncLazy<T>.RevertRelevance

Struttura che nasconde la pertinenza di un blocco di codice da un particolare AsyncLazy<T> oggetto e con cui JoinableTaskContext è stato creato.

AsyncReaderWriterLock.Awaitable

Oggetto awaitable restituito dalle richieste di blocco asincrone.

AsyncReaderWriterLock.LockHandle

Rappresentazione "pubblica" di un blocco specifico.

AsyncReaderWriterLock.Releaser

Valore la cui eliminazione rilascia un blocco bloccato.

AsyncReaderWriterLock.Suppression

Valore il cui eliminazione ripristina la visibilità di eventuali blocchi mantenuti dal chiamante.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Oggetto awaitable restituito dalle richieste di blocco asincrone.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Gestisce l'accesso asincrono a un blocco.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Valore la cui eliminazione rilascia un blocco bloccato.

AsyncSemaphore.Releaser

Valore la cui eliminazione attiva il rilascio di un blocco.

AwaitExtensions.AggregateExceptionAwaitable

Risultato di ConfigureAwaitForAggregateException(Task, Boolean) per preparare un Task oggetto da attendere durante la generazione con tutte le eccezioni interne.

AwaitExtensions.AggregateExceptionAwaiter

Risultato di GetAwaiter() per preparare un Task oggetto da attendere durante la generazione con tutte le eccezioni interne.

AwaitExtensions.ConfiguredTaskYieldAwaitable

Oggetto awaitable che porterà sempre il metodo asincrono chiamante a restituire, quindi riprendere immediatamente, possibilmente sull'originale SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Awaiter che porterà sempre il metodo asincrono chiamante a restituire, quindi riprendere immediatamente, possibilmente sull'originale SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Oggetto Task awaitable con affinità con l'esecuzione di callback in modo sincrono nello stack di chiamate completato.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Oggetto Task awaitable con affinità con l'esecuzione di callback in modo sincrono nello stack di chiamate completato.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Awaiter attività con affinità con l'esecuzione di callback in modo sincrono nello stack di chiamate completato.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Awaiter attività con affinità con l'esecuzione di callback in modo sincrono nello stack di chiamate completato.

AwaitExtensions.SynchronizationContextAwaiter

Awaiter restituito da GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Oggetto awaitable che esegue le continuazioni nell'utilità di pianificazione dell'attività specificata.

AwaitExtensions.TaskSchedulerAwaiter

Awaiter restituito da GetAwaiter(TaskScheduler).

CancellationTokenExtensions.CombinedCancellationToken

Fornisce l'accesso a un CancellationToken oggetto che combina più altri token e consente l'eliminazione pratica di qualsiasi oggetto applicabile CancellationTokenSource.

JoinableTaskCollection.JoinRelease

Valore la cui eliminazione annulla un'operazione Join() .

JoinableTaskContext.RevertRelevance

Struttura che cancella gli statici asincroni callContext e SynchronizationContext e ripristina tali valori quando questa struttura viene eliminata.

JoinableTaskFactory.MainThreadAwaitable

Struct awaitable che facilita una transizione asincrona al thread main.

JoinableTaskFactory.MainThreadAwaiter

Struct awaiter che facilita una transizione asincrona al thread principale.

JoinableTaskFactory.ProcessingDisabledOperation

Struct la cui eliminazione ripristina l'effetto di una chiamata precedente a DisableProcessing().

JoinableTaskInternals.JoinableTaskToken

Microsoft. Lo spazio dei nomi VisualStudio.Threading contiene LE API da usare nei progetti SDK di Visual Studio. È consigliabile usare queste API per la programmazione asincrona in Visual Studio. In questo modo è possibile evitare deadlock

Questa libreria si basa su .NET Framework Task Parallel Library (TPL). Per informazioni su questa libreria, vedere Task Parallel Library (TPL).

ReentrantSemaphore.RevertRelevance

Struttura che nasconde tutte le prove che il chiamante ha immesso fino ReentrantSemaphore a quando questo valore non viene eliminato.

SpecializedSyncContext

Struttura che applica e ripristina le modifiche apportate a SynchronizationContext.

TplExtensions.NoThrowTaskAwaitable

Oggetto awaitable che esegue il wrapping di un'attività e non genera mai un'eccezione quando è in attesa.

TplExtensions.NoThrowTaskAwaiter

Awaiter che esegue il wrapping di un'attività e non genera mai un'eccezione quando è in attesa.

TplExtensions.NoThrowValueTaskAwaitable

Oggetto awaitable che esegue il wrapping di un'attività e non genera mai un'eccezione quando è in attesa.

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Oggetto awaitable che esegue il wrapping di un ValueTask<TResult> oggetto e non genera mai un'eccezione quando è in attesa.

TplExtensions.NoThrowValueTaskAwaiter

Awaiter che esegue il wrapping di un'attività e non genera mai un'eccezione quando è in attesa.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

Awaiter che esegue il wrapping di un'attività e non genera mai un'eccezione quando è in attesa.

Interfacce

Nome Descrizione
IAsyncDisposable

Definisce un metodo asincrono per rilasciare le risorse allocate.

IHangReportContributor

Fornisce una funzionalità per produrre report che possono essere utili durante l'analisi dei blocchi.

Enumerazioni

Nome Descrizione
AsyncReaderWriterLock.LockFlags

Flag che modificano il comportamento di blocco predefinito.

AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags

Flag che modificano il comportamento di blocco predefinito.

JoinableTaskCreationOptions

Specifica i flag che controllano il comportamento facoltativo per la creazione e l'esecuzione delle attività.

ReentrantSemaphore.ReentrancyMode

Descrive i modi in cui ReentrantSemaphore può comportarsi quando viene effettuata una richiesta semaforo in un contesto già presente nel semaforo.

RegistryChangeNotificationFilters

I vari tipi di dati all'interno di una chiave del Registro di sistema che generano notifiche quando vengono modificate.

Delegati

Nome Descrizione
AsyncEventHandler

Gestore eventi asincrono.

AsyncEventHandler<TEventArgs>

Gestore eventi asincrono.