Microsoft.VisualStudio.Threading Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |