Freigeben über


Microsoft.VisualStudio.Threading Namespace

Der Microsoft.VisualStudio.Threading-Namespace enthält APIs zur Verwendung in Visual Studio SDK-Projekten. Sie sollten dieser APIs für asynchrone Programmierung in Visual Studio verwenden. Dadurch werden Deadlocks vermieden

Diese Bibliothek basiert auf der .NET Framework-TaskParallel Library (TPL). Informationen zu dieser Bibliothek finden Sie unter Task Parallel Library (TPL).

Klassen

AsyncAutoResetEvent

Eine asynchrone Implementierung eines AutoResetEvents.

AsyncBarrier

Eine asynchrone Barriere, die den Signalgeber blockiert, bis alle anderen Teilnehmer signalisiert haben.

AsyncCountdownEvent

Ein asynchrones Countdownereignis.

AsyncCrossProcessMutex

Ein Mutex, der asynchron eingegeben werden kann.

AsyncLazy<T>

Eine threadsichere, verzögert und asynchron ausgewertete Wertfactory.

AsyncLazyInitializer

Lazily führt einen Delegat aus, der einen Nebeneffekt hat (in der Regel initialisiert), sodass der Delegat höchstens einmal ausgeführt wird.

AsyncLocal<T>

Speichert Verweise so, dass sie im gleichen Aufrufkontext zum Abrufen verfügbar sind.

AsyncManualResetEvent

Eine Variante davon ManualResetEvent kann asynchron erwartet werden.

AsyncQueue<T>

Eine threadsichere, asynchrone auflösbare Warteschlange.

AsyncReaderWriterLock

Eine nicht blockierende Sperre, die gleichzeitigen Zugriff, exklusiven Zugriff oder gleichzeitige Upgradebarkeit auf exklusiven Zugriff ermöglicht.

AsyncReaderWriterLock.Awaiter

Verwaltet den asynchronen Zugriff auf eine Sperre.

AsyncReaderWriterResourceLock<TMoniker,TResource>

Eine nicht blockierende Sperre, die gleichzeitigen Zugriff, exklusiven Zugriff oder gleichzeitigen mit Aktualisierbarkeit auf exklusiven Zugriff zulässt und Sonderbewilligungen für Ressourcen macht, die für gleichzeitigen oder exklusiven Zugriff vorbereitet werden müssen.

AsyncSemaphore

Eine asynchrone SemaphoreSlim ähnliche Klasse mit bequemerer Releasesyntax.

AwaitExtensions

Erweiterungsmethoden und Wartebares für .NET 4.5.

CancellationTokenExtensions

Erweiterungen von CancellationToken.

DelegatingJoinableTaskFactory

Eine JoinableTaskFactory-Basisklasse für abgeleitete Typen, die einige ihrer Arbeiten in einer vorhandenen Instanz delegieren.

DispatcherExtensions

Erweiterungsmethoden für den WPF Dispatcher für eine bessere Interoperabilität mit JoinableTaskFactory.

HangReportContribution

Ein Deckungsbeitrag zu einem Aggregatabsturzbericht.

IllegalSemaphoreUsageException

Ausnahme, die ausgelöst wird, wenn der Vertrag eines ReentrantSemaphore verletzt wird.

JoinableTask

Verfolgt asynchrone Vorgänge nach und bietet die Möglichkeit, diese Vorgänge zu verknüpfen, um Deadlocks zu vermeiden, während der Hauptthread für den Abschluss des Vorgangs synchron blockiert wird.

JoinableTask<T>

Verfolgt asynchrone Vorgänge nach und bietet die Möglichkeit, diese Vorgänge zu verknüpfen, um Deadlocks zu vermeiden, während der Hauptthread für den Abschluss des Vorgangs synchron blockiert wird.

JoinableTaskCollection

Eine Auflistung unvollständiger JoinableTask Objekte.

JoinableTaskContext

Ein allgemeiner Kontext, in dem Aufgaben, denen beigetreten werde kann, möglicherweise erstellt werden und mit denen interagiert werden kann, um Deadlocks zu vermeiden.

JoinableTaskContext.HangDetails

Eine Klasse, um die Details eines möglichen Hängens zu kapseln. Ein instance dieser JoinableTaskContext.HangDetails Klasse wird an die Instanzen übergeben, die JoinableTaskContextNode die Hangbenachrichtigungen registriert haben.

JoinableTaskContextException

Eine Ausnahme, die ausgelöst wird, wenn die für die JoinableTaskContext bereitgestellte Konfiguration falsch ist oder eine virtuelle Methode so überschrieben wird, dass sie gegen einen Vertrag verstößt. Diese Ausnahme sollte nicht abgefangen werden. Sie wird ausgelöst, wenn die Anwendung einen Programmierfehler aufweist.

JoinableTaskContextNode

Eine anpassbare Quelle von JoinableTaskFactory-Instanzen.

JoinableTaskFactory

Eine Factory zum Starten von asynchronen Aufgaben, die Deadlocks migrieren können, wenn die Aufgaben den Hauptthread einer Anwendung benötigen und der Hauptthread selbst möglicherweise auf dem Abschluss einer Aufgabe blockiert.

NoMessagePumpSyncContext

Eine SynchronizationContext-Methode, deren synchron blockierende Wait-Methode keine Wiederholung über die Nachrichtenpumpe zulässt.

NonConcurrentSynchronizationContext

Eine SynchronizationContext , die Nachrichten in der Reihenfolge ausführt, in der sie empfangen werden.

ProgressWithCompletion<T>

Bei einem inkrementellen Statusberichterstellungsmechanismus, der auch das asynchrone Warten auf alle zu verarbeitenden Berichte gestattet.

ReentrantSemaphore

Ein JoinableTaskFactory-bewusster Semaphor, der eine Reentranz ermöglicht, ohne einen weiteren Slot im Semaphor zu verbrauchen.

SemaphoreFaultedException

Ausnahme, die ausgelöst wird, wenn sich ein ReentrantSemaphore in einem fehlerhaften Zustand befindet.

SingleThreadedSynchronizationContext

Ein Singlethread-Synchronisierungskontext, ähnlich dem DispatcherSynchronizationContext und WindowsFormsSynchronizationContext.

SingleThreadedSynchronizationContext.Frame

Ein Nachrichtenpumprahmen, mit PushFrame(SingleThreadedSynchronizationContext+Frame) dem möglicherweise Nachrichten gepusht werden, um Nachrichten im eigenen Thread zu pumpen.

ThreadingTools

Hilfsprogrammmethoden zum Arbeiten über Threads.

TplExtensions

Erweiterungen zur Task Parallel Library.

Strukturen

AsyncCrossProcessMutex.LockReleaser

Der von EnterAsync(TimeSpan) zurückgegebene Wert, der zum Freigeben des Mutex verworfen werden muss.

AsyncLazy<T>.RevertRelevance

Eine Struktur, die die Relevanz eines Codeblocks vor einem bestimmten AsyncLazy<T> und dem, mit dem JoinableTaskContext er erstellt wurde, ausblendet.

AsyncReaderWriterLock.Awaitable

Ein Awaitable, der von der asynchronen Sperre zurückgegeben wird, wird angezeigt.

AsyncReaderWriterLock.LockHandle

Eine "öffentliche" Darstellung einer bestimmten Sperre.

AsyncReaderWriterLock.Releaser

Ein Wert, dessen Löschung eine unterbrochene Sperre freigibt.

AsyncReaderWriterLock.Suppression

Ein Wert, dessen Löschung die Sichtbarkeit aller Sperren wiederherstellt, die vom Aufrufer angehalten werden.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Ein Awaitable, der von der asynchronen Sperre zurückgegeben wird, wird angezeigt.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Verwaltet den asynchronen Zugriff auf eine Sperre.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Ein Wert, dessen Löschung eine unterbrochene Sperre freigibt.

AsyncSemaphore.Releaser

Ein Wert, dessen Löschung die Freigabe einer Sperre auslöst.

AwaitExtensions.AggregateExceptionAwaitable

Das Ergebnis von ConfigureAwaitForAggregateException(Task, Boolean) , um einen Task vorzubereiten, der beim Auslösen mit allen inneren Ausnahmen erwartet werden soll.

AwaitExtensions.AggregateExceptionAwaiter

Das Ergebnis von GetAwaiter() , um einen Task vorzubereiten, der beim Auslösen mit allen inneren Ausnahmen erwartet werden soll.

AwaitExtensions.ConfiguredTaskYieldAwaitable

Eine wartebare, die immer dazu führt, dass die aufrufende asynchrone Methode ergibt, und dann sofort fortgesetzt wird, möglicherweise auf dem ursprünglichen SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Ein Warteprogramm, das immer dazu führt, dass die aufrufende asynchrone Methode ergibt, und dann sofort fortgesetzt wird, möglicherweise auf dem ursprünglichen SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Eine Aufgabe, die wartet, die Affinität zum synchronen Ausführen von Rückrufen auf dem abgeschlossenen Aufrufstapel hat.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Eine Aufgabe, die wartet, die Affinität zum synchronen Ausführen von Rückrufen auf dem abgeschlossenen Aufrufstapel hat.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Ein Aufgabenwarter mit Affinität zum synchronen Ausführen von Rückrufen für den abschlussenden Aufrufstapel.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Ein Aufgabenwarter mit Affinität zum synchronen Ausführen von Rückrufen für den abschlussenden Aufrufstapel.

AwaitExtensions.SynchronizationContextAwaiter

Ein Awaiter, der von GetAwaiter(SynchronizationContext) zurückgegeben wird.

AwaitExtensions.TaskSchedulerAwaitable

Ein Awaitable, der auf dem angegebenen Taskplaner Fortsetzungen ausführt.

AwaitExtensions.TaskSchedulerAwaiter

Ein Awaiter, der von GetAwaiter(TaskScheduler) zurückgegeben wird.

CancellationTokenExtensions.CombinedCancellationToken

Bietet Zugriff auf eine CancellationToken , die mehrere andere Token kombiniert, und ermöglicht die bequeme Entsorgung aller anwendbaren CancellationTokenSource.

JoinableTaskCollection.JoinRelease

Ein Wert, dessen Löschung einen Join() Vorgang abbricht.

JoinableTaskContext.RevertRelevance

Eine Struktur, die die Asynchron-/Thread-Statik von CallContext und SynchronizationContext löscht und diese Werte wiederherstellt, wenn diese Struktur entfernt wird.

JoinableTaskFactory.MainThreadAwaitable

Eine Awaitable-Struktur, die einen asynchronen Übergang in den Hauptthread erleichtert.

JoinableTaskFactory.MainThreadAwaiter

Eine Wartestruktur, die einen asynchronen Übergang zum Hauptthread erleichtert.

JoinableTaskInternals.JoinableTaskToken

Der Microsoft.VisualStudio.Threading-Namespace enthält APIs zur Verwendung in Visual Studio SDK-Projekten. Sie sollten dieser APIs für asynchrone Programmierung in Visual Studio verwenden. Dadurch werden Deadlocks vermieden

Diese Bibliothek basiert auf der .NET Framework-TaskParallel Library (TPL). Informationen zu dieser Bibliothek finden Sie unter Task Parallel Library (TPL).

ReentrantSemaphore.RevertRelevance

Eine Struktur, die alle Beweise ausblendet, dass der Aufrufer einen ReentrantSemaphore eingegeben hat, bis dieser Wert entfernt wird.

SpecializedSyncContext

Eine Struktur, die Änderungen an dem SynchronizationContext anwendet und wiederherstellt.

TplExtensions.NoThrowTaskAwaitable

Ein Awaitable, der eine Aufgabe umschließt und niemals eine Ausnahme auslöst, wenn an verwaltet wird.

TplExtensions.NoThrowTaskAwaiter

Ein Awaiter, der eine Aufgabe umschließt und niemals eine Ausnahme auslöst, wenn an verwaltet wird.

TplExtensions.NoThrowValueTaskAwaitable

Ein Awaitable, der eine Aufgabe umschließt und niemals eine Ausnahme auslöst, wenn an verwaltet wird.

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Eine wartebare, die ein ValueTask<TResult> umschließt und nie eine Ausnahme auslöst, wenn gewartet wird.

TplExtensions.NoThrowValueTaskAwaiter

Ein Awaiter, der eine Aufgabe umschließt und niemals eine Ausnahme auslöst, wenn an verwaltet wird.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

Ein Awaiter, der eine Aufgabe umschließt und niemals eine Ausnahme auslöst, wenn an verwaltet wird.

Schnittstellen

IAsyncDisposable

Definiert eine asynchrone Methode zum freigeben zugewiesener Ressourcen.

IHangReportContributor

Stellt eine Funktion zum Erzeugen von Berichten bereit, die möglicherweise nützlich sind, wenn das Analysieren abstürzt.

Enumerationen

AsyncReaderWriterLock.LockFlags

Flags, die das Standardsperrverhalten ändern.

AsyncReaderWriterResourceLock<TMoniker,TResource>.LockFlags

Flags, die das Standardsperrverhalten ändern.

JoinableTaskCreationOptions

Gibt Flags an, die optionales Verhalten für die Erstellung und Ausführung von Aufgaben steuern.

ReentrantSemaphore.ReentrancyMode

Beschreibt, wie sich das ReentrantSemaphore verhalten kann, wenn eine Semaphoranforderung in einem Kontext gestellt wird, der sich bereits im Semaphor befindet.

RegistryChangeNotificationFilters

Die verschiedenen Datentypen in einem Registrierungsschlüssel, die Benachrichtigungen generieren, wenn sie geändert werden.

Delegaten

AsyncEventHandler

Eine asynchroner Ereignishandler.

AsyncEventHandler<TEventArgs>

Eine asynchroner Ereignishandler.