System.Threading-Namespaces
Die Namespaces System.Threading, System.Threading.Tasks und System.Threading.Tasks.DataFlow enthalten Typen, die Multithreading-Programmierung ermöglichen und das Schreiben von nebenläufigem und asynchronem Code vereinfachen.
In diesem Thema werden die Typen vorgestellt, die in den Namespaces System.Threading, System.Threading.Tasks und System.Threading.Tasks.DataFlow aus .NET für Windows Store-Apps enthalten sind, oder die installiert und verwendet werden können, um Windows Store-Anwendungen zu erstellen. Beachten Sie, dass .NET für Windows Store-Apps nicht alle Member jeden Typs einschließt. Informationen zu einzelnen Typen finden Sie in den verknüpften Themen. Die Dokumentation für einen Typ gibt an, welche Member in .NET für Windows Store-Apps enthalten sind.
Um den System.Threading.Tasks.Dataflow-Namespace zu installieren, öffnen Sie ihr Projekt in Visual Studio 2012, wählen NuGet-Pakete verwalten aus dem Menü Projekt, und suchen online nach dem Microsoft.Tpl.Dataflow-Paket.
System.Threading-Namespace
In .NET für Windows Store-Apps unterstützte Typen |
Beschreibung |
---|---|
Die Ausnahme, die ausgelöst wird, wenn ein Thread ein Mutex-Objekt abruft, das von einem anderen Thread abgebrochen, aber beim Verlassen nicht freigegeben wurde. |
|
Benachrichtigt einen wartenden Thread über das Eintreten eines Ereignisses. Diese Klasse kann nicht vererbt werden. |
|
Ermöglicht es mehreren Aufgaben, parallel über mehrere Phasen gemeinsam an einem Algorithmus zu arbeiten. |
|
Die Ausnahme, die bei einem Fehler der Nachphasenaktion einer Barrier-Klasse ausgelöst wird. |
|
Gibt eine Benachrichtigung darüber weiter, dass Vorgänge abgebrochen werden sollen. |
|
Stellt einen Rückrufdelegaten dar, der mit einem CancellationToken registriert wurde. |
|
Signalisiert einem CancellationToken, dass es abgebrochen werden soll. |
|
Stellt einen Synchronisierungsprimitiven dar, dem signalisiert wird, wenn sein Zähler 0 (null) erreicht. |
|
Gibt an, ob eine EventWaitHandle-Klasse nach dem Empfang eines Signals automatisch oder manuell zurückgesetzt wird. |
|
Stellt ein Threadsynchronisierungsereignis dar. |
|
Stellt atomare Vorgänge für Variablen bereit, die von mehreren Threads gemeinsam genutzt werden. |
|
Stellt verzögerte Initialisierungsroutinen bereit. |
|
Gibt an, wie eine Lazy<T>-Instanz den Zugriff bei mehreren Threads synchronisiert. |
|
Die Ausnahme, die ausgelöst wird, wenn das rekursive Erreichen einer Sperre nicht mit der Rekursionsrichtlinie der Sperre kompatibel ist. |
|
Gibt an, ob eine Sperre mehrmals dem gleichen Thread zugewiesen werden kann. |
|
Benachrichtigt einen oder mehrere wartende Threads über das Eintreten eines Ereignisses. Diese Klasse kann nicht vererbt werden. |
|
Stellt eine verschlankte Version von ManualResetEvent bereit. |
|
Stellt einen Mechanismus bereit, der den Zugriff auf Objekte synchronisiert. |
|
Ein Synchronisierungsprimitiver, der auch für die prozessübergreifende Synchronisierung verwendet werden kann. |
|
Stellt eine Sperre dar, mit der der Zugriff auf eine Ressource verwaltet wird. Mehrere Threads können damit Lesezugriff oder exklusiven Schreibzugriff erhalten. |
|
Schränkt die Anzahl von Threads ein, die gleichzeitig auf eine Ressource oder einen Pool von Ressourcen zugreifen können. |
|
Diese Ausnahme wird ausgelöst, wenn die Release-Methode für einen Semaphore aufgerufen wird, dessen Zähler bereits den Maximalwert erreicht hat. |
|
Eine einfache Alternative zu Semaphoren, die die Anzahl von Threads beschränkt, die gleichzeitig auf eine Ressource oder einen Ressourcenpool zugreifen können. |
|
Stellt eine Methode dar, die aufgerufen werden muss, wenn eine Nachricht an einen Synchronisierungskontext gesendet werden soll. |
|
Stellt einen Mutex-Sperrprimitiven bereit, wobei ein Thread, der versucht, die Sperre abzurufen, in einer Schleife wartet, die laufend prüft, ob die Sperre verfügbar wird. |
|
Stellt Unterstützung für Spin-basierte Wartevorgänge bereit. |
|
Stellt die Basisfunktionen für die Weitergabe eines Synchronisierungskontexts in unterschiedlichen Synchronisierungsmodellen bereit. |
|
Die Ausnahme, die ausgelöst wird, wenn der Aufrufer einer Methode über die Sperre für einen bestimmten Monitor verfügen muss und die Methode von einem Aufrufer aufgerufen wird, der nicht über diese Sperre verfügt. |
|
Stellt Thread-lokalen Datenspeicher bereit. |
|
Enthält Konstanten, die infinite Timeoutintervalle angeben. Diese Klasse kann nicht vererbt werden. |
|
Enthält Methoden zum Ausführen von flüchtigen Speichervorgängen. |
|
Kapselt betriebssystemspezifische Objekte, die auf exklusiven Zugriff auf gemeinsam genutzte Ressourcen warten. |
|
Diese Ausnahme wird bei dem Versuch ausgelöst, einen Systemmutex oder einen Semaphore zu öffnen. |
System.Threading.Tasks-Namespace
In .NET für Windows Store-Apps unterstützte Typen |
Beschreibung |
---|---|
Stellt nebenläufige und exklusive Taskplaner bereit, die auszuführende Aufgaben koordinieren, während sie sicherstellen, dass nur nebenläufige Aufgaben gleichzeitig ausgeführt werden, exklusive Aufgaben jedoch nicht. |
|
Stellt Unterstützung für parallele Schleifen und Bereiche bereit. |
|
Gibt den Ausführungstatus bei der Ausführung einer parallelen Schleife an. |
|
Ermöglicht Iterationen von Parallel-Schleifen die Interaktion mit anderen Iterationen. Eine Instanz dieser Klasse wird von der Parallel-Klasse für jede Schleife bereitgestellt. Sie können keine Instanzen im Benutzercode erstellen. |
|
Speichert Optionen, die die Ausführung von Methoden der Parallel-Klasse konfigurieren. |
|
Stellt einen asynchronen Vorgang dar. |
|
Stellt einen asynchronen Vorgang dar, der einen Wert zurückgeben kann. |
|
Stellt eine Ausnahme dar, die verwendet wurde, um einen Taskabbruch mitzuteilen. |
|
Stellt die Producerseite einer Task<TResult> dar, die nicht an einen Delegaten gebunden ist, und bietet Zugriff auf die Consumerseite durch die TaskCompletionSource<T>.Task-Eigenschaft. |
|
Gibt das Verhalten für eine Aufgabe an, die mit der ContinueWith- oder der Task<T>.ContinueWith-Methode erstellt wurde. |
|
Gibt Flags an, die optionales Verhalten für die Erstellung und Ausführung von Aufgaben steuern. |
|
Stellt einen Satz statischer (Shared in Visual Basic) Methoden für die Arbeit mit bestimmten Arten von Task-Instanzen bereit. |
|
Stellt Unterstützung für das Erstellen und Planen von Task-Objekten bereit. |
|
Stellt Unterstützung für das Erstellen und Planen von Task<T>-Objekten bereit. |
|
Stellt ein Objekt dar, das die Einreihung von Aufgaben in Threads auf niedriger Ebene behandelt. |
|
Stellt eine Ausnahme dar, die verwendet wird, um einen ungültigen Vorgang eines TaskScheduler mitzuteilen. |
|
Stellt die aktuelle Phase im Lebenszyklus einer Aufgabe dar. |
|
Stellt Daten für das Ereignis bereit, das ausgelöst wird, wenn die Ausnahme einer fehlerhaften Aufgabe nicht beachtet wird. |
System.Threading.Tasks.DataFlow-Namespace
Zum Installieren des System.Threading.Tasks.Dataflow-Namespace öffnen Sie Ihr Projekt in Visual Studio 2012, wählen NuGet-Pakete verwalten aus dem Menü Project und suchen anschließend online nach dem Microsoft.Tpl.Dataflow-Paket.
In .NET für Windows Store-Apps unterstützte Typen |
Beschreibung |
---|---|
Stellt einen Datenflussblock bereit, der einen bereitgestellten Action<T>-Delegaten für jedes empfangene Datenelement aufruft. |
|
Stellt einen Datenflussblock bereit, der Eingaben in Arrays stapelt. |
|
Stellt einen Datenflussblock bereit, der eine festgelegte Anzahl von Eingaben mit möglicherweise unterschiedlichen Typen stapelt, die mindestens einem seiner Ziele bereitgestellt werden. |
|
Stellt einen Datenflussblock bereit, der eine festgelegte Anzahl von Eingaben mit möglicherweise unterschiedlichen Typen stapelt, die mindestens einem seiner Ziele bereitgestellt werden. |
|
Stellt einen Puffer bereit, der nur ein Element speichern kann, wodurch jede Meldung von einer folgenden überschrieben wird. Meldungen werden an alle verknüpften Ziele übermittelt, die alle einen Klon der Nachricht nutzen können. |
|
Stellt einen Puffer zum Speichern von Daten bereit. |
|
Stellt einen Satz mit statischen (Shared in Visual Basic) Methoden für die Arbeit mit Datenflussblöcken bereit. |
|
Stellt Optionen bereit, mit denen die Verarbeitung konfiguriert wird, die von Datenflussblöcken ausgeführt wird. |
|
Stellt die Optionen bereit, die verwendet werden, um einen Link zwischen Datenflussblöcken zu konfigurieren. |
|
Stellt einen Container mit Datenattributen für die Übergabe zwischen Datenflussblöcken bereit. |
|
Stellt den Status von einem DataflowMessageHeader bei der Übergabe zwischen Datenflussblöcken dar. |
|
Stellt Optionen bereit, die verwendet werden, um die Verarbeitung zu konfigurieren, die von Datenflussblöcken ausgeführt wird, die jede Meldung durch den Aufruf eines vom Benutzer bereitgestellten Delegaten verarbeiten. Diese sind Datenflussblöcke wie ActionBlock<TInput> und TransformBlock<TInput, TOutput>. |
|
Stellt Optionen bereit, die verwendet werden, um die Verarbeitung zu konfigurieren, die von Datenflussblöcken ausgeführt wird, die mehrere Nachrichten gruppieren. Diese sind Datenflussblöcke wie JoinBlock<T1, T2> und BatchBlock<T>. |
|
Stellt einen Datenflussblock dar. |
|
Stellt einen Datenflussblock dar, der ein Ziel für Daten und eine Quelle von Daten ist. |
|
Stellt einen Datenflussblock dar, der das Empfangen von Meldungen unterstützt, ohne zu verknüpfen. |
|
Stellt einen Datenflussblock dar, der eine Datenquelle darstellt. |
|
Stellt einen Datenflussblock dar, der ein Ziel für Daten ist. |
|
Stellt einen Datenflussblock bereit, der sich über mehrere Datenflussquellen verbindet, die nicht unbedingt desselben Typs sind. Der Datenflussblock wartet auf ein ankommendes Element für jeden Typ, bevor sie alle zusammen als Tupel freigegeben werden, das ein Element pro Typ enthält. |
|
Stellt einen Datenflussblock bereit, der sich über mehrere Datenflussquellen verbindet, die nicht unbedingt desselben Typs sind. Der Datenflussblock wartet auf ein ankommendes Element für jeden Typ, bevor sie alle zusammen als Tupel freigegeben werden, das ein Element pro Typ enthält. |
|
Stellt einen Datenflussblock bereit, der einen bereitgestellten Func<T, TResult>-Delegaten für jedes empfangene Datenelement aufruft. |
|
Stellt einen Datenflussblock bereit, der einen bereitgestellten Func<T, TResult>-Delegaten für jedes empfangene Datenelement aufruft. |
|
Stellt einen Puffer für das Empfangen und Speichern von höchstens einem Element in einem Netzwerk von Datenflussblöcken bereit. |