System.Threading Namespace

Stellt Klassen und Schnittstellen bereit, die die Multithread-Programmierung ermöglichen. Zusätzlich zu Klassen zum Synchronisieren von Threadaktivitäten und zugriff auf Daten (, , , usw.) enthält dieser Namespace eine Mutex Klasse, mit der Sie einen Pool von vom System bereitgestellten Threads verwenden können, und eine Monitor Klasse, die Rückrufmethoden für Threadpoolthreads ausführt. InterlockedAutoResetEventThreadPoolTimer

Klassen

Name Beschreibung
AbandonedMutexException

Die Ausnahme, die ausgelöst wird, wenn ein Thread ein Mutex Objekt erhält, das ein anderer Thread verlassen hat, indem er beendet wird, ohne ihn freizugeben.

AsyncLocal<T>

Stellt Umgebungsdaten dar, die für einen bestimmten asynchronen Steuerungsfluss lokal sind, z. B. eine asynchrone Methode.

AutoResetEvent

Stellt ein Threadsynchronisierungsereignis dar, das, wenn signalisiert, einen einzelnen Wartethread loslässt und dann automatisch zurückgesetzt wird. Diese Klasse kann nicht vererbt werden.

Barrier

Ermöglicht es mehreren Aufgaben, kooperativ an einem Algorithmus parallel über mehrere Phasen zu arbeiten.

BarrierPostPhaseException

Die Ausnahme, die ausgelöst wird, wenn die Aktion nach der Phase eines Barrier Fehlers auftritt.

CancellationTokenSource

Signalisiert, CancellationToken dass es abgebrochen werden soll.

CompressedStack

Stellt Methoden zum Festlegen und Erfassen des komprimierten Stapels im aktuellen Thread bereit. Diese Klasse kann nicht vererbt werden.

CountdownEvent

Stellt einen Synchronisierungsgrundtyp dar, der signalisiert wird, wenn die Anzahl null erreicht.

EventWaitHandle

Stellt ein Threadsynchronisierungsereignis dar.

ExecutionContext

Verwaltet den Ausführungskontext für den aktuellen Thread. Diese Klasse kann nicht vererbt werden.

HostExecutionContext

Kapselt und verteilt den Hostausführungskontext über Threads hinweg.

HostExecutionContextManager

Stellt die Funktionalität bereit, die es einem Host für common language runtime ermöglicht, am Ablauf oder der Migration des Ausführungskontexts teilzunehmen.

Interlocked

Stellt Atomvorgänge für Variablen bereit, die von mehreren Threads gemeinsam verwendet werden.

LazyInitializer

Stellt faule Initialisierungsroutinen bereit.

LockRecursionException

Die Ausnahme, die ausgelöst wird, wenn rekursive Eingabe in eine Sperre nicht mit der Rekursionsrichtlinie für die Sperre kompatibel ist.

ManualResetEvent

Stellt ein Threadsynchronisierungsereignis dar, das bei signalisierter Signalisierung manuell zurückgesetzt werden muss. Diese Klasse kann nicht vererbt werden.

ManualResetEventSlim

Stellt ein Threadsynchronisierungsereignis dar, das bei signalisierter Signalisierung manuell zurückgesetzt werden muss. Diese Klasse ist eine einfache Alternative zu ManualResetEvent.

Monitor

Stellt einen Mechanismus bereit, der den Zugriff auf Objekte synchronisiert.

Mutex

Ein Synchronisierungsgrundtyp, der auch für die Interprocesssynchronisierung verwendet werden kann.

Overlapped

Stellt eine verwaltete Darstellung einer Win32-Struktur OVERLAPPED bereit, einschließlich Methoden zum Übertragen von Informationen von einer Overlapped Instanz in eine NativeOverlapped Struktur.

PreAllocatedOverlapped

Stellt den vorab zugewiesenen Zustand für systemeigene überlappende E/A-Vorgänge dar.

ReaderWriterLock

Definiert eine Sperre, die einzelne Autoren und mehrere Leser unterstützt.

ReaderWriterLockSlim

Stellt eine Sperre dar, die zum Verwalten des Zugriffs auf eine Ressource verwendet wird, sodass mehrere Threads zum Lesen oder exklusiven Zugriff zum Schreiben zugelassen werden.

RegisteredWaitHandle

Stellt ein Handle dar, das beim Aufrufen RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean)registriert wurde. Diese Klasse kann nicht vererbt werden.

Semaphore

Beschränkt die Anzahl der Threads, die gleichzeitig auf eine Ressource oder einen Pool von Ressourcen zugreifen können.

SemaphoreFullException

Die Ausnahme, die ausgelöst wird, wenn die Release Methode für ein Semaphor aufgerufen wird, dessen Anzahl bereits am Maximum liegt.

SemaphoreSlim

Stellt eine einfache Alternative zu Semaphore dieser Beschränkung der Anzahl von Threads dar, die gleichzeitig auf eine Ressource oder einen Pool von Ressourcen zugreifen können.

SynchronizationContext

Stellt die grundlegenden Funktionen zum Verteilen eines Synchronisierungskontexts in verschiedenen Synchronisierungsmodellen bereit.

SynchronizationLockException

Die Ausnahme, die ausgelöst wird, wenn die Methode erfordert, dass der Aufrufer die Sperre für einen bestimmten Monitor besitzt, und die Methode wird von einem Aufrufer aufgerufen, der diese Sperre nicht besitzt.

Thread

Erstellt und steuert einen Thread, legt seine Priorität fest und ruft seinen Status ab.

ThreadAbortException

Die Ausnahme, die ausgelöst wird, wenn ein Aufruf der Abort(Object) Methode ausgeführt wird. Diese Klasse kann nicht vererbt werden.

ThreadExceptionEventArgs

Stellt Daten für das ThreadException-Ereignis bereit.

ThreadInterruptedException

Die Ausnahme, die ausgelöst wird, wenn eine Thread Unterbrechung während des Wartens auftritt.

ThreadLocal<T>

Stellt threadlokale Speicherung von Daten bereit.

ThreadPool

Stellt einen Pool von Threads bereit, mit denen Aufgaben ausgeführt werden können, Arbeitsaufgaben posten, asynchrone E/A-Vorgänge verarbeiten, im Auftrag anderer Threads warten und Zeitgeber verarbeiten können.

ThreadPoolBoundHandle

Stellt ein E/A-Handle dar, das an den Systemthreadpool gebunden ist, und ermöglicht es Komponenten auf niedriger Ebene, Benachrichtigungen für asynchrone E/A-Vorgänge zu empfangen.

ThreadStartException

Die Ausnahme, die ausgelöst wird, wenn ein Fehler in einem verwalteten Thread auftritt, nachdem der zugrunde liegende Betriebssystemthread gestartet wurde, aber bevor der Thread zum Ausführen von Benutzercode bereit ist.

ThreadStateException

Die Ausnahme, die ausgelöst wird, wenn ein Thread Fehler für den Methodenaufruf ungültig ThreadState ist.

Timeout

Enthält Konstanten, die unendliche Timeoutintervalle angeben. Diese Klasse kann nicht vererbt werden.

Timer

Stellt einen Mechanismus zum Ausführen einer Methode in einem Threadpoolthread in bestimmten Intervallen bereit. Diese Klasse kann nicht vererbt werden.

Volatile

Enthält Methoden zum Ausführen von veränderliche Speichervorgängen.

WaitHandle

Kapselt betriebssystemspezifische Objekte, die auf exklusiven Zugriff auf freigegebene Ressourcen warten.

WaitHandleCannotBeOpenedException

Die Ausnahme, die ausgelöst wird, wenn versucht wird, ein Systemmutex, Semaphor oder Ereignis-Handle zu öffnen, das nicht vorhanden ist.

WaitHandleExtensions

Bietet Komfortmethoden für das Arbeiten mit einem sicheren Handle für einen Wartepunkt.

Strukturen

Name Beschreibung
AsyncFlowControl

Stellt die Funktionalität zum Wiederherstellen der Migration oder des Flusses des Ausführungskontexts zwischen Threads bereit.

AsyncLocalValueChangedArgs<T>

Die Klasse, die Datenänderungsinformationen für AsyncLocal<T> Instanzen bereitstellt, die sich für Änderungsbenachrichtigungen registrieren.

CancellationToken

Gibt die Benachrichtigung an, dass Vorgänge abgebrochen werden sollen.

CancellationTokenRegistration

Stellt einen Rückrufdelegat dar, der bei einem CancellationToken.

LockCookie

Definiert die Sperre, die single-writer/multiple-reader semantics implementiert. Dies ist ein Werttyp.

NativeOverlapped

Stellt ein explizites Layout bereit, das im nicht verwalteten Code sichtbar ist und das dasselbe Layout wie die Win32 OVERLAPPED-Struktur mit zusätzlichen reservierten Feldern am Ende aufweist.

SpinLock

Stellt einen grundtyp für die gegenseitige Ausschlusssperre bereit, bei dem ein Thread, der versucht, die Sperre abzurufen, wiederholt in einer Schleife wartet, bis die Sperre verfügbar ist.

SpinWait

Bietet Unterstützung für Spin-basiertes Warten.

Enumerationen

Name Beschreibung
ApartmentState

Gibt den Wohnungszustand eines Threadan.

EventResetMode

Gibt an, ob ein EventWaitHandle automatisch oder manuell zurückgesetzt wird, nachdem ein Signal empfangen wurde.

LazyThreadSafetyMode

Gibt an, wie eine Lazy<T> Instanz den Zugriff zwischen mehreren Threads synchronisiert.

LockRecursionPolicy

Gibt an, ob eine Sperre mehrmals durch denselben Thread eingegeben werden kann.

ThreadPriority

Gibt die Terminplanungspriorität eines Threadan.

ThreadState

Gibt die Ausführungszustände eines Threadan.

Delegaten

Name Beschreibung
ContextCallback

Stellt eine Methode dar, die in einem neuen Kontext aufgerufen werden soll.

IOCompletionCallback

Empfängt den Fehlercode, die Anzahl der Bytes und den überlappenden Werttyp, wenn ein E/A-Vorgang im Threadpool abgeschlossen ist.

ParameterizedThreadStart

Stellt die Methode dar, die für ein Thread.

SendOrPostCallback

Stellt eine Methode dar, die aufgerufen werden soll, wenn eine Nachricht an einen Synchronisierungskontext verteilt werden soll.

ThreadExceptionEventHandler

Stellt die Methode dar, die das ThreadException Ereignis eines Application.

ThreadStart

Stellt die Methode dar, die für ein Thread.

TimerCallback

Stellt die Methode dar, die Aufrufe von einem Timer.

WaitCallback

Stellt eine Rückrufmethode dar, die von einem Threadpoolthread ausgeführt werden soll.

WaitOrTimerCallback

Stellt eine Methode dar, die aufgerufen werden soll, wenn ein WaitHandle Signal signalisiert oder ein Timesout erfolgt.