Microsoft.VisualStudio.Threading Namespace

Die Microsoft. Der VisualStudio.Threading-Namespace enthält APIs für die Verwendung in Visual Studio SDK-Projekten. Sie sollten diese APIs für die asynchrone Programmierung in Visual Studio verwenden. Auf diese Weise können Sie Deadlocks vermeiden

Diese Bibliothek basiert auf der .NET Framework Task Parallel Library (TPL). Informationen zu dieser Bibliothek finden Sie unter Task Parallel Library (TPL).For information about this library, see Task Parallel Library (TPL).

Klassen

Name Beschreibung
AsyncAutoResetEvent

Eine asynchrone Implementierung eines AutoResetEvent.

AsyncBarrier

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

AsyncCountdownEvent

Ein asynchrones Stil-Countdown-Ereignis.

AsyncCrossProcessMutex

Ein Mutex, der asynchron eingegeben werden kann.

AsyncLazy<T>

Eine threadsichere, lazily und asynchron ausgewertete Wertfactory.

AsyncLazyInitializer

Führt lazily eine Stellvertretung aus, die einen Nebeneffekt hat (in der Regel initialisieren etwas), sodass der Delegat höchstens einmal ausgeführt wird.

AsyncLocal<T>

Speichert Verweise so, dass sie für den Abruf im gleichen Anrufkontext verfügbar sind.

AsyncManualResetEvent

Ein Geschmack davon ManualResetEvent kann asynchron erwartet werden.

AsyncQueue<T>

Eine threadsichere, asynchron dequeuierbare Warteschlange.

AsyncReaderWriterLock

Eine nicht blockierende Sperre, die gleichzeitigen Zugriff, exklusiven Zugriff oder gleichzeitige Upgradebarkeit für 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 gleichzeitige Upgradebarkeit für exklusiven Zugriff zulässt, wodurch spezielle Zertifikate für Ressourcen gewährt werden, die für gleichzeitigen oder exklusiven Zugriff vorbereitet werden müssen.

AsyncSemaphore

Eine asynchrone SemaphoreSlim Ähnliche Klasse mit einer komfortableren Versionssyntax.

AwaitExtensions

Erweiterungsmethoden und Awaitables für .NET 4.5.

CancellationTokenExtensions

Erweiterungen für CancellationToken.

DelegatingJoinableTaskFactory

Eine JoinableTaskFactory-Basisklasse für abgeleitete Typen, die einige ihrer Arbeit an eine vorhandene Instanz delegieren.

DispatcherExtensions

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

HangReportContribution

Ein Beitrag zu einem aggregierten Hang-Bericht.

IllegalSemaphoreUsageException

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

JoinableTask

Verfolgt asynchrone Vorgänge und bietet die Möglichkeit, diese Vorgänge zu verbinden, um Deadlocks zu vermeiden und gleichzeitig den Hauptthread für den Abschluss des Vorgangs synchron zu blockieren.

JoinableTask<T>

Verfolgt asynchrone Vorgänge und bietet die Möglichkeit, diese Vorgänge zu verbinden, um Deadlocks zu vermeiden und gleichzeitig den Hauptthread für den Abschluss des Vorgangs synchron zu blockieren.

JoinableTaskCollection

Eine Auflistung unvollständiger JoinableTask Objekte.

JoinableTaskContext

Ein allgemeiner Kontext, in dem verknüpfungsfähige Aufgaben erstellt und interagiert werden können, um Deadlocks zu vermeiden.

JoinableTaskContext.HangDetails

Eine Klasse zum Kapseln der Details eines möglichen Hängens. Eine Instanz dieser JoinableTaskContext.HangDetails Klasse wird an die JoinableTaskContextNode Instanzen übergeben, die die Benachrichtigungen zum Hängen registriert haben.

JoinableTaskContextException

Eine Ausnahme wird ausgelöst, wenn die für die JoinableTaskContext Konfiguration bereitgestellte falsch ist oder eine virtuelle Methode außer Kraft gesetzt wird, sodass 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 asynchroner Aufgaben, die Deadlocks mindern können, wenn für die Aufgaben der Hauptthread einer Anwendung erforderlich ist und der Hauptthread selbst beim Abschluss einer Aufgabe blockiert wird.

NoMessagePumpSyncContext

Ein SynchronizationContext, dessen Wait-Methode synchron blockiert, lässt keine Reentranz über die Meldungspumpe zu.

NonConcurrentSynchronizationContext

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

ProgressWithCompletion<T>

Ein mechanismus für die inkrementelle Statusberichterstattung, mit dem auch asynchrones Warten auf alle Berichte verarbeitet werden kann.

ReentrantSemaphore

Ein JoinableTaskFactory-fähiges Semaphor, das reentrancy ermöglicht, ohne einen anderen Slot im Semaphor zu verbrauchen.

SemaphoreFaultedException

Ausnahme ausgelöst, wenn sich ein ReentrantSemaphore Fehlerzustand befindet.

SingleThreadedSynchronizationContext

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

SingleThreadedSynchronizationContext.Frame

Ein Nachrichtenpumprahmen, der mit PushFrame(SingleThreadedSynchronizationContext+Frame) Pumpmeldungen auf dem eigenen Thread geschoben werden kann.

ThreadingTools

Hilfsmethoden für die Arbeit über Threads hinweg.

TplExtensions

Erweiterungen für die Parallelbibliothek des Vorgangs.

Strukturen

Name Beschreibung
AsyncCrossProcessMutex.LockReleaser

Der wert, der zurückgegeben EnterAsync(TimeSpan) wird, muss verworfen werden, um den Mutex freizugeben.

AsyncLazy<T>.RevertRelevance

Eine Struktur, die die Relevanz eines Codesblocks aus einem bestimmten AsyncLazy<T> Code und dessen JoinableTaskContext Erstellung ausblendet.

AsyncReaderWriterLock.Awaitable

Eine abwartbare, die von asynchronen Sperranforderungen zurückgegeben wird.

AsyncReaderWriterLock.LockHandle

Eine "öffentliche" Darstellung einer bestimmten Sperre.

AsyncReaderWriterLock.Releaser

Ein Wert, dessen Entsorgung eine gehaltene Sperre freigibt.

AsyncReaderWriterLock.Suppression

Ein Wert, dessen Entsorgung die Sichtbarkeit aller sperren, die vom Aufrufer gehalten werden.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaitable

Eine abwartbare, die von asynchronen Sperranforderungen zurückgegeben wird.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceAwaiter

Verwaltet den asynchronen Zugriff auf eine Sperre.

AsyncReaderWriterResourceLock<TMoniker,TResource>.ResourceReleaser

Ein Wert, dessen Entsorgung eine gehaltene Sperre freigibt.

AsyncSemaphore.Releaser

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

AwaitExtensions.AggregateExceptionAwaitable

Das Ergebnis der ConfigureAwaitForAggregateException(Task, Boolean) Vorbereitung eines Task Zuwartens beim Auslösen aller inneren Ausnahmen.

AwaitExtensions.AggregateExceptionAwaiter

Das Ergebnis der GetAwaiter() Vorbereitung eines Task Zuwartens beim Auslösen aller inneren Ausnahmen.

AwaitExtensions.ConfiguredTaskYieldAwaitable

Eine erwartbare, die die aufrufende asynchrone Methode immer zur Ausbeute führt, dann sofort fortgesetzt, möglicherweise auf dem Original SynchronizationContext.

AwaitExtensions.ConfiguredTaskYieldAwaiter

Ein Awaiter, der immer die aufrufende asynchrone Methode zur Ausbeute führt, dann sofort fortgesetzt, möglicherweise auf dem Original SynchronizationContext.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable

Eine aufgabe awaitable that has affinity to executing callbacks synchron on the completing callstack.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaitable<T>

Eine aufgabe awaitable that has affinity to executing callbacks synchron on the completing callstack.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter

Ein Task awaiter, der Affinität zum Ausführen von Rückrufen synchron auf dem abschlussden Callstack hat.

AwaitExtensions.ExecuteContinuationSynchronouslyAwaiter<T>

Ein Task awaiter, der Affinität zum Ausführen von Rückrufen synchron auf dem abschlussden Callstack hat.

AwaitExtensions.SynchronizationContextAwaiter

Ein Awaiter, der von GetAwaiter(SynchronizationContext).

AwaitExtensions.TaskSchedulerAwaitable

Eine wartende Aktion, die Fortsetzungen für den angegebenen Aufgabenplaner ausführt.

AwaitExtensions.TaskSchedulerAwaiter

Ein Awaiter, der von GetAwaiter(TaskScheduler).

CancellationTokenExtensions.CombinedCancellationToken

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

JoinableTaskCollection.JoinRelease

Ein Wert, dessen Entsorgung einen Join() Vorgang abbricht.

JoinableTaskContext.RevertRelevance

Eine Struktur, die CallContext und SynchronizationContext async/thread statics löscht und diese Werte wiederherstellen, wenn diese Struktur verworfen wird.

JoinableTaskFactory.MainThreadAwaitable

Eine erwartbare Struktur, die einen asynchronen Übergang zum Hauptthread erleichtert.

JoinableTaskFactory.MainThreadAwaiter

Eine Awaiter-Struktur, die einen asynchronen Übergang zum Hauptthread erleichtert.

JoinableTaskFactory.ProcessingDisabledOperation

Eine Struktur, deren Entsorgung die Wirkung eines früheren Aufrufs DisableProcessing()zurückgesetzt.

JoinableTaskInternals.JoinableTaskToken

Die Microsoft. Der VisualStudio.Threading-Namespace enthält APIs für die Verwendung in Visual Studio SDK-Projekten. Sie sollten diese APIs für die asynchrone Programmierung in Visual Studio verwenden. Auf diese Weise können Sie Deadlocks vermeiden

Diese Bibliothek basiert auf der .NET Framework Task Parallel Library (TPL). Informationen zu dieser Bibliothek finden Sie unter Task Parallel Library (TPL).For information about this library, see Task Parallel Library (TPL).

ReentrantSemaphore.RevertRelevance

Eine Struktur, die alle Nachweise ausblendet, die der Aufrufer eingegeben ReentrantSemaphore hat, bis dieser Wert verworfen wird.

SpecializedSyncContext

Eine Struktur, die Änderungen anwendet und zurückgesetzt.SynchronizationContext

TplExtensions.NoThrowTaskAwaitable

Eine wartende Aufgabe, die eine Aufgabe umschließt und beim Warten niemals eine Ausnahme auslöst.

TplExtensions.NoThrowTaskAwaiter

Ein Awaiter, der eine Aufgabe umschließt und beim Warten niemals eine Ausnahme auslöst.

TplExtensions.NoThrowValueTaskAwaitable

Eine wartende Aufgabe, die eine Aufgabe umschließt und beim Warten niemals eine Ausnahme auslöst.

TplExtensions.NoThrowValueTaskAwaitable<TResult>

Eine wartebare, die eine ValueTask<TResult> Ausnahme umschließt und niemals eine Ausnahme auslöst, wenn sie gewartet wurde.

TplExtensions.NoThrowValueTaskAwaiter

Ein Awaiter, der eine Aufgabe umschließt und beim Warten niemals eine Ausnahme auslöst.

TplExtensions.NoThrowValueTaskAwaiter<TResult>

Ein Awaiter, der eine Aufgabe umschließt und beim Warten niemals eine Ausnahme auslöst.

Schnittstellen

Name Beschreibung
IAsyncDisposable

Definiert eine asynchrone Methode zum Freigeben zugeordneter Ressourcen.

IHangReportContributor

Bietet eine Möglichkeit zum Erstellen von Berichten, die beim Analysieren von Hängen hilfreich sein können.

Enumerationen

Name Beschreibung
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 dies ReentrantSemaphore verhalten kann, wenn eine Semaphoranforderung in einem Kontext erfolgt, der sich bereits im Semaphor befindet.

RegistryChangeNotificationFilters

Die verschiedenen Datentypen innerhalb eines Registrierungsschlüssels, die Benachrichtigungen generieren, wenn sie geändert werden.

Delegaten

Name Beschreibung
AsyncEventHandler

Ein asynchroner Ereignishandler.

AsyncEventHandler<TEventArgs>

Ein asynchroner Ereignishandler.