System.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.
Stellt Klassen und Schnittstellen bereit, die Multithreading-Programmierung ermöglichen. Neben den Klassen zum Synchronisieren von Threadaktivitäten und Datenzugriff (Mutex, Monitor, Interlocked, AutoResetEvent usw.) enthält dieser Namespace eine ThreadPool-Klasse, die die Verwendung eines Pools von Systemthreads ermöglicht, und eine Timer-Klasse, die Rückrufmethoden für Threads des Threadpools ausführt.
Klassen
AbandonedMutexException |
Die Ausnahme, die ausgelöst wird, wenn ein Thread ein Mutex-Objekt abruft, das von einem anderen Thread abgebrochen wurde, indem das Objekt beim Beenden nicht freigegeben wurde. |
AsyncLocal<T> |
Stellt Umgebungsdaten dar, die für eine angegebene asynchrone Ablaufsteuerung lokal sind, wie etwa eine asynchrone Methode. |
AutoResetEvent |
Stellt ein Threadsynchronisierungsereignis dar, das bei Signalisierung einen einzelnen wartenden Thread freigibt und dann automatisch zurückgesetzt wird. Diese Klasse kann nicht vererbt werden. |
Barrier |
Ermöglicht es mehreren Aufgaben, parallel über mehrere Phasen gemeinsam an einem Algorithmus zu arbeiten. |
BarrierPostPhaseException |
Die Ausnahme, die bei einem Fehler der Nachphasenaktion einer Barrier ausgelöst wird. |
CancellationTokenSource |
Signalisiert einem CancellationToken, dass es abgebrochen werden soll. |
CompressedStack |
Stellt Methoden zum Festlegen und Erfassen des komprimierten Stapels für den aktuellen Thread bereit. Diese Klasse kann nicht vererbt werden. |
CountdownEvent |
Stellt einen Synchronisierungsprimitiven dar, dem signalisiert wird, wenn sein Zähler 0 (null) erreicht. |
EventWaitHandle |
Stellt ein Threadsynchronisierungsereignis dar. |
EventWaitHandleAcl |
Bietet eine Windows-spezifische Erweiterungsmethode zum Erstellen von EventWaitHandle-Objekten mit spezifischer ACL-Sicherheit (Access Control List, Zugriffssteuerungsliste). |
ExecutionContext |
Verwaltet den Ausführungskontext für den aktuellen Thread. Diese Klasse kann nicht vererbt werden. |
HostExecutionContext |
Kapselt den Hostausführungskontext und gibt ihn threadübergreifend weiter. |
HostExecutionContextManager |
Stellt die Funktionen bereit, über die ein Host der Common Language Runtime am Fluss teilnehmen oder der Ausführungskontext migriert werden kann. |
Interlocked |
Stellt atomare Vorgänge für Variablen bereit, die von mehreren Threads gemeinsam genutzt werden. |
LazyInitializer |
Stellt verzögerte Initialisierungsroutinen bereit. |
Lock |
Stellt einen Mechanismus zum erreichen gegenseitigen Ausschluss in Codebereichen zwischen verschiedenen Threads bereit. |
LockRecursionException |
Die Ausnahme, die ausgelöst wird, wenn das rekursive Erreichen einer Sperre nicht mit der Rekursionsrichtlinie der Sperre kompatibel ist. |
ManualResetEvent |
Stellt ein Threadsynchronisierungsereignis dar, das bei Signalisierung manuell zurückgesetzt werden muss. Diese Klasse kann nicht vererbt werden. |
ManualResetEventSlim |
Stellt ein Threadsynchronisierungsereignis dar, das bei 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 primitiver Synchronisierungstyp, der auch für die prozessübergreifende Synchronisierung verwendet werden kann. |
MutexAcl |
Bietet eine Windows-spezifische Erweiterungsmethode zum Erstellen von Mutex-Objekten mit spezifischer ACL-Sicherheit (Access Control List, Zugriffssteuerungsliste). |
Overlapped |
Bietet eine verwaltete Darstellung einer Win32- |
PeriodicTimer |
Stellt einen regelmäßigen Timer bereit, der das asynchrone Warten auf Zeitgebertakte ermöglicht. |
PreAllocatedOverlapped |
Stellt den Zustand vor der Zuweisung für native überlappende E/-A-Vorgänge dar. |
ReaderWriterLock |
Definiert eine Sperre, die einen Writer und mehrere Reader unterstützt. |
ReaderWriterLockSlim |
Stellt eine Sperre dar, mit der der Zugriff auf eine Ressource verwaltet wird. Mehrere Threads können hierbei Lesezugriff oder exklusiven Schreibzugriff erhalten. |
RegisteredWaitHandle |
Stellt ein Handle dar, das beim Aufruf von RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean) registriert wurde. Diese Klasse kann nicht vererbt werden. |
Semaphore |
Schränkt die Anzahl von Threads ein, die gleichzeitig auf eine Ressource oder einen Pool von Ressourcen zugreifen können. |
SemaphoreAcl |
Bietet eine Windows-spezifische Erweiterungsmethode zum Erstellen von Semaphore-Objekten mit spezifischer ACL-Sicherheit (Access Control List, Zugriffssteuerungsliste). |
SemaphoreFullException |
Diese Ausnahme wird ausgelöst, wenn die Release-Methode für einen Semaphore aufgerufen wird, dessen Zähler bereits den Maximalwert erreicht hat. |
SemaphoreSlim |
Eine einfache Alternative zu Semaphore, die die Anzahl der Threads beschränkt, die gleichzeitig auf eine Ressource oder einen Ressourcenpool zugreifen können. |
SynchronizationContext |
Stellt die Basisfunktionen für die Weitergabe eines Synchronisierungskontexts in unterschiedlichen Synchronisierungsmodellen bereit. |
SynchronizationLockException |
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. |
Thread |
Erstellt und steuert einen Thread, legt dessen Priorität fest und ruft den Status ab. |
ThreadAbortException |
Die Ausnahme, die bei einem Aufruf der Abort(Object)-Methode ausgelöst wird. Diese Klasse kann nicht vererbt werden. |
ThreadExceptionEventArgs |
Stellt Daten für das ThreadException-Ereignis bereit. |
ThreadingAclExtensions |
Stellt Windows-spezifische Erweiterungsmethoden zum Verwalten der Sicherheitsbeschreibungen von Zugriffssteuerungslisten (ACL) für EventWaitHandle, Mutex und Semaphore bereit. |
ThreadInterruptedException |
Die Ausnahme, die ausgelöst wird, wenn ein Thread im Wartezustand unterbrochen wird. |
ThreadLocal<T> |
Stellt Thread-lokalen Datenspeicher bereit. |
ThreadPool |
Stellt einen Threadpool bereit, der verwendet werden kann, um Aufgaben auszuführen, Arbeitselemente bereitzustellen, asynchrone E/A zu verarbeiten, im Auftrag anderer Threads zu warten und Zeitgeber zu verarbeiten. |
ThreadPoolBoundHandle |
Stellt ein E/A-Handle dar, das an den Threadpool des Systems gebunden ist und Komponenten auf niedriger Ebene ermöglicht, Benachrichtigungen asynchroner E/A-Operationen zu empfangen. |
ThreadStartException |
Die Ausnahme, die ausgelöst wird, wenn ein Fehler in einem verwalteten Thread auftritt, nachdem der Thread des zugrunde liegenden Betriebssystems gestartet wurde, jedoch bevor der Thread bereit ist, Benutzercode auszuführen. |
ThreadStateException |
Die Ausnahme, die ausgelöst wird, wenn sich ein Thread in einem für den Methodenaufruf ungültigen ThreadState befindet. |
Timeout |
Enthält Konstanten, die unendliche Timeoutintervalle angeben. Diese Klasse kann nicht vererbt werden. |
Timer |
Stellt einen Mechanismus zum Ausführen einer Methode für einen Threadpoolthread in angegebenen Intervallen bereit. Diese Klasse kann nicht vererbt werden. |
Volatile |
Enthält Methoden zum Ausführen von flüchtigen Speichervorgängen. |
WaitHandle |
Kapselt betriebssystemspezifische Objekte, die auf exklusiven Zugriff auf gemeinsam genutzte Ressourcen warten. |
WaitHandleCannotBeOpenedException |
Diese Ausnahme wird bei dem Versuch ausgelöst, ein nicht vorhandenes Systemmutex, Semaphor oder Wait-Handle eines Ereignisses zu öffnen. |
WaitHandleExtensions |
Stellt Hilfsmethoden für die Arbeit mit einem sicheren Handle für ein Wait-Handle bereit. |
Strukturen
AsyncFlowControl |
Stellt die Funktionen zum Wiederherstellen der Migration oder des Flusses des Ausführungskontexts zwischen Threads bereit. |
AsyncLocalValueChangedArgs<T> |
Die Klasse, die AsyncLocal<T>-Instanzen, die sich für Änderungsbenachrichtigungen registrieren, Informationen über Datenänderungen zur Verfügung stellt. |
CancellationToken |
Gibt eine Benachrichtigung darüber weiter, dass Vorgänge abgebrochen werden sollen. |
CancellationTokenRegistration |
Stellt einen Rückrufdelegaten dar, der bei einem CancellationToken registriert wurde. |
Lock.Scope |
Stellt eine Lock dar, die eingegeben wurde. |
LockCookie |
Definiert die Sperre, die die Semantik für einen Writer und mehrere Reader implementiert. Dies ist ein Werttyp. |
NativeOverlapped |
Stellt ein explizites Layout bereit, das im nicht verwalteten Code sichtbar ist und über dasselbe Layout verfügt, wie die Win32-OVERLAPPED-Struktur mit zusätzlichen reservierten Felder am Ende. |
SpinLock |
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. |
SpinWait |
Stellt Unterstützung für Spin-basierte Wartevorgänge bereit. |
Schnittstellen
IThreadPoolWorkItem |
Stellt ein Arbeitselement dar, das vom ThreadPool ausgeführt werden kann. |
ITimer |
Stellt einen Timer dar, dessen Fälligkeitszeit und -zeitraum geändert werden können. |
Enumerationen
ApartmentState |
Gibt den Apartmentzustand eines Thread an. |
EventResetMode |
Gibt an, ob eine EventWaitHandle-Klasse nach dem Empfangen eines Signals automatisch oder manuell zurückgesetzt wird. |
LazyThreadSafetyMode |
Gibt an, wie eine Lazy<T>-Instanz den Zugriff bei mehreren Threads synchronisiert. |
LockRecursionPolicy |
Gibt an, ob eine Sperre mehrmals dem gleichen Thread zugewiesen werden kann. |
ThreadPriority |
Gibt die Planungspriorität eines Thread an. |
ThreadState |
Gibt die Ausführungszustände eines Thread an. |
Delegaten
ContextCallback |
Stellt eine Methode dar, die in einem neuen Kontext aufgerufen wird. |
IOCompletionCallback |
Empfängt beim Abschluss einer E/A-Operation im Threadpool den Fehlercode, die Anzahl der Bytes sowie den überlappenden Werttyp. |
ParameterizedThreadStart |
Stellt die Methode dar, die in einem Thread ausgeführt wird. |
SendOrPostCallback |
Stellt eine Methode dar, die aufgerufen werden muss, wenn eine Nachricht an einen Synchronisierungskontext gesendet werden soll. |
ThreadExceptionEventHandler |
Stellt die Methode dar, die das ThreadException-Ereignis eines Application behandelt. |
ThreadStart |
Stellt die Methode dar, die in einem Thread ausgeführt wird. |
TimerCallback |
Stellt die Methode dar, die Aufrufe von einem Timer behandelt. |
WaitCallback |
Stellt die Rückrufmethode dar, die von einem Thread des Threadpools ausgeführt werden soll. |
WaitOrTimerCallback |
Stellt eine Methode dar, die aufgerufen werden soll, wenn ein Signal an ein WaitHandle gesendet wird oder dessen Timeout überschritten ist. |