Microsoft.VisualStudio.Threading Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |