Condividi tramite


Microsoft.VisualStudio.Threading Spazio dei nomi

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

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

Classi

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 countdown dello stile asincrono.

AsyncCrossProcessMutex

Un mutex che può essere immesso in modo asincrono.

AsyncLazy<T>

Factory del valore thread-safe valutata in modo differito e asincrono.

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 thread-safe, eliminabile in modo asincrono.

AsyncReaderWriterLock

Blocco senza blocco che consente l'accesso simultaneo, l'accesso esclusivo o la simultaneità con l'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 l'accesso simultaneo con semplicità di aggiornamento all'accesso esclusivo, facendo concessioni speciali per le risorse che devono essere preparate per l'accesso simultaneo o esclusivo.

AsyncSemaphore

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

AwaitExtensions

Metodi di estensione e attese per .NET 4.5.

CancellationTokenExtensions

Estensioni per CancellationToken.

DelegatingJoinableTaskFactory

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

DispatcherExtensions

Metodi di estensione per WPF Dispatcher per un'interoperabilità migliore con .JoinableTaskFactory

HangReportContribution

Contributo al rapporto blocco di aggregazione.

IllegalSemaphoreUsageException

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

JoinableTask

Tiene traccia delle operazioni asincrone e offre la possibilità di aggiungere tali operazioni per evitare deadlock mentre bloccano in modo sincrono il thread principale per il completamento dell'operazione.

JoinableTask<T>

Tiene traccia delle operazioni asincrone e offre la possibilità di aggiungere tali operazioni per evitare deadlock mentre bloccano in modo sincrono il thread principale per il completamento dell'operazione.

JoinableTaskCollection

Raccolta di oggetti incompleti JoinableTask .

JoinableTaskContext

Contesto comune in cui le attività joinable possono essere create 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

Un'eccezione generata quando la configurazione fornita all'oggetto JoinableTaskContext non è corretta o un metodo virtuale viene sottoposto a override in modo che viola un contratto. Questa eccezione non deve essere rilevata. Viene generato quando l'applicazione ha un errore di programmazione.

JoinableTaskContextNode

Origine personalizzabile di istanze JoinableTaskFactory.

JoinableTaskFactory

Factory per l'avvio di attività asincrone in grado di contenere i deadlock quando le attività richiedono il thread principale di un'applicazione e il thread principale può a sua volta bloccare il completamento di un'attività.

NoMessagePumpSyncContext

SyncContext il cui metodo Wait blocca in modo sincrono non consente alcuna reentrancy tramite la pompa dei messaggi.

NonConcurrentSynchronizationContext

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

ProgressWithCompletion<T>

Meccanismo di report dello stato di avanzamento incrementale che consente l'attesa asincrona dell'elaborazione di tutti i rapporti.

ReentrantSemaphore

Un JoinableTaskFactorysemaforo a conoscenza che consente la reentrancy senza usare 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 con cui è possibile eseguire il push per PushFrame(SingleThreadedSynchronizationContext+Frame) pompare i messaggi nel thread proprietario.

ThreadingTools

Metodi di utilità per lavorare all'interno dei thread.

TplExtensions

Estensioni per la Task Parallel Library.

Struct

AsyncCrossProcessMutex.LockReleaser

Il valore restituito da EnterAsync(TimeSpan) tale oggetto deve essere eliminato per rilasciare il mutex.

AsyncLazy<T>.RevertRelevance

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

AsyncReaderWriterLock.Awaitable

Un awaitable restituito dalle richieste di blocco asincrono.

AsyncReaderWriterLock.LockHandle

Una rappresentazione "pubblica" di un blocco specifico.

AsyncReaderWriterLock.Releaser

Valore la cui eliminazione rilascia un blocco utilizzato.

AsyncReaderWriterLock.Suppression

Valore la cui eliminazione ripristina la visibilità di tutti i blocchi utilizzati dal chiamante.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Un awaitable restituito dalle richieste di blocco asincrono.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Gestisce l'accesso asincrono a un blocco.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Valore la cui eliminazione rilascia un blocco utilizzato.

AsyncSemaphore.Releaser

Valore la cui eliminazione comporta il rilascio di un blocco.

AwaitExtensions.AggregateExceptionAwaitable

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

AwaitExtensions.AggregateExceptionAwaiter

Il risultato di GetAwaiter() preparare un Task oggetto da attendere durante la generazione di tutte le eccezioni interne.

AwaitExtensions.ConfiguredTaskYieldAwaitable

In attesa che condurrà sempre il metodo asincrono a restituire, quindi riprendere immediatamente, possibilmente sull'originale SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Un awaiter che condurrà sempre il metodo asincrono a restituire, quindi riprendere immediatamente, possibilmente sull'originale SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Attività in attesa che abbia affinità per l'esecuzione di callback sincrono nel callstack completato.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Attività in attesa che abbia affinità per l'esecuzione di callback sincrono nel callstack completato.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Oggetto Task awaiter con affinità per l'esecuzione di callback in modo sincrono nel callstack completato.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Oggetto Task awaiter con affinità per l'esecuzione di callback in modo sincrono nel callstack completato.

AwaitExtensions.SynchronizationContextAwaiter

Un awaiter restituito da GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Un awaitable che esegue le continuazioni sull'utilità di pianificazione specificata.

AwaitExtensions.TaskSchedulerAwaiter

Un awaiter restituito da GetAwaiter(TaskScheduler).

CancellationTokenExtensions.CombinedCancellationToken

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

JoinableTaskCollection.JoinRelease

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

JoinableTaskContext.RevertRelevance

Struttura che cancella gli stati statici di CallContext e SyncContext async/thread e ripristina tali valori quando questa struttura viene eliminata.

JoinableTaskFactory.MainThreadAwaitable

Uno struct awaitable che consente una transizione asincrona al thread principale.

JoinableTaskFactory.MainThreadAwaiter

Struct awaiter che facilita una transizione asincrona al thread Main.

JoinableTaskInternals.JoinableTaskToken

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

Questa libreria è basata 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 un ReentrantSemaphore valore fino a quando questo valore non viene eliminato.

SpecializedSyncContext

Struttura che applica e ripristina le modifiche a SynchronizationContext.

TplExtensions.NoThrowTaskAwaitable

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

TplExtensions.NoThrowTaskAwaiter

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

TplExtensions.NoThrowValueTaskAwaitable

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

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Un oggetto in attesa che esegue il wrapping di un oggetto ValueTask<TResult> 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 stato di attesa.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

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

Interfacce

IAsyncDisposable

Definisce un metodo asincrono per rilasciare le risorse allocate.

IHangReportContributor

Fornisce una funzionalità per la produzione di report utili per alle analisi dei blocchi.

Enumerazioni

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 può ReentrantSemaphore comportarsi quando viene effettuata una richiesta di 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

AsyncEventHandler

Un gestore di eventi asincrono.

AsyncEventHandler<TEventArgs>

Un gestore di eventi asincrono.