Freigeben über


System.Threading-Namespace

Der System.Threading-Namespace stellt Klassen und Schnittstellen bereit, die Multithreadprogrammierung 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

  Klasse Beschreibung
Öffentliche Klasse 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.
Öffentliche Klasse AutoResetEvent Benachrichtigt einen wartenden Thread über das Eintreten eines Ereignisses. Diese Klasse kann nicht vererbt werden.
Öffentliche Klasse CompressedStack Stellt Methoden zum Festlegen und Erfassen des komprimierten Stapels für den aktuellen Thread bereit. Diese Klasse kann nicht geerbt werden.
Öffentliche Klasse EventWaitHandle Stellt ein Threadsynchronisierungsereignis dar.
Öffentliche Klasse ExecutionContext Verwaltet den Ausführungskontext für den aktuellen Thread. Diese Klasse kann nicht geerbt werden.
Öffentliche Klasse HostExecutionContext Kapselt den Hostausführungskontext und gibt ihn threadübergreifend weiter.
Öffentliche Klasse HostExecutionContextManager Stellt die Funktionen bereit, über die ein Host der Common Language Runtime am Fluss teilnehmen oder der Ausführungskontext migriert werden kann.
Öffentliche Klasse Interlocked Stellt atomare Operationen für Variablen bereit, die von mehreren Threads gemeinsam genutzt werden.
Öffentliche Klasse ManualResetEvent Benachrichtigt einen oder mehrere wartende Threads über das Eintreten eines Ereignisses. Diese Klasse kann nicht vererbt werden.
Öffentliche Klasse Monitor Stellt einen Mechanismus bereit, der den Zugriff auf Objekte synchronisiert.
Öffentliche Klasse Mutex Ein primitiver Synchronisierungstyp, der auch für die prozessübergreifende Synchronisierung verwendet werden kann.
Öffentliche Klasse Overlapped Liefert eine verwaltete Darstellung einer Win32-OVERLAPPED-Struktur mit Methoden zum Übertragen von Informationen von einer Overlapped-Instanz zu einer NativeOverlapped-Struktur.
Öffentliche Klasse ReaderWriterLock Definiert eine Sperre, die einen Writer und mehrere Reader unterstützt.
Öffentliche Klasse RegisteredWaitHandle Stellt ein Handle dar, das beim Aufruf von RegisterWaitForSingleObject registriert wurde. Diese Klasse kann nicht vererbt werden.
Öffentliche Klasse Semaphore Schränkt die Anzahl von Threads ein, die gleichzeitig auf eine Ressource oder einen Pool von Ressourcen zugreifen können.
Öffentliche Klasse SemaphoreFullException Die Ausnahme, die ausgelöst wird, wenn die System.Threading.Semaphore.Release-Methode für ein Semaphor aufgerufen wird, dessen Zähler bereits den Maximalwert aufweist.
Öffentliche Klasse SynchronizationContext Stellt die Grundfunktionen für die Weitergabe eines Synchronisierungskontexts in unterschiedlichen Synchronisierungsmodellen bereit.
Öffentliche Klasse SynchronizationLockException Die Ausnahme, die ausgelöst wird, wenn der Aufrufer für eine Methode über eine Sperre für einen bestimmten Monitor verfügen muss, und die Methode von einem Aufrufer aufgerufen wird, der nicht über diese Sperre verfügt.
Öffentliche Klasse Thread Erstellt und steuert einen Thread, legt dessen Priorität fest und ruft den Status ab.
Öffentliche Klasse ThreadAbortException Die Ausnahme, die bei einem Aufruf der Abort-Methode ausgelöst wird. Diese Klasse kann nicht vererbt werden.
Öffentliche Klasse ThreadExceptionEventArgs Stellt Daten für das ThreadException-Ereignis bereit.
Öffentliche Klasse ThreadInterruptedException Die Ausnahme, die ausgelöst wird, wenn ein Thread im Wartezustand unterbrochen wird.
Öffentliche Klasse ThreadPool Stellt einen Threadpool bereit, der verwendet werden kann, um Arbeitsaufgaben bereitzustellen, asynchrone E/A zu verarbeiten, im Auftrag anderer Threads zu warten und Zeitgeber zu verarbeiten.
Öffentliche Klasse 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.
Öffentliche Klasse ThreadStateException Die Ausnahme, die ausgelöst wird, wenn sich ein Thread in einem für den Methodenaufruf ungültigen ThreadState befindet.
Öffentliche Klasse Timeout Enthält eine Konstante, mit der eine unbegrenzte Zeitspanne angegeben wird. Diese Klasse kann nicht vererbt werden.
Öffentliche Klasse Timer Stellt einen Mechanismus zum Ausführen einer Methode in angegebenen Intervallen bereit. Diese Klasse kann nicht vererbt werden.
Öffentliche Klasse WaitHandle Kapselt betriebssystemspezifische Objekte, die auf exklusiven Zugriff auf gemeinsam genutzte Ressourcen warten.
Öffentliche Klasse WaitHandleCannotBeOpenedException Die Ausnahme, die ausgelöst wird, wenn versucht wird, einen nicht vorhandenen Systemmutex oder ein nicht vorhandenes Semaphor zu öffnen.

Strukturen

  Struktur Beschreibung
Öffentliche Struktur AsyncFlowControl Stellt die Funktionen zum Wiederherstellen der Migration oder des Flusses des Ausführungskontexts zwischen Threads bereit.
Öffentliche Struktur LockCookie Definiert die Sperre, die die Semantik für einen Writer und mehrere Reader implementiert. Dies ist ein Werttyp.
Öffentliche Struktur NativeOverlapped Stellt ein explizites Layout bereit, das für nicht verwalteten Code sichtbar ist und dem Layout der OVERLAPPED-Win32-Struktur entspricht, jedoch zusätzliche reservierte Felder am Ende aufweist.

Delegaten

  Delegat Beschreibung
Öffentlicher Delegat ContextCallback Stellt eine Methode dar, die in einem neuen Kontext aufgerufen werden muss.
Öffentlicher Delegat IOCompletionCallback Empfängt beim Abschluss einer E/A-Operation im Threadpool den Fehlercode, die Anzahl der Bytes sowie den überlappenden Werttyp.
Öffentlicher Delegat ParameterizedThreadStart Stellt die Methode dar, die für einen Thread ausgeführt wird.
Öffentlicher Delegat SendOrPostCallback Stellt eine Methode dar, die aufgerufen werden muss, wenn eine Nachricht an einen Synchronisierungskontext gesendet werden soll.
Öffentlicher Delegat ThreadExceptionEventHandler Stellt die Methode dar, die das ThreadException-Ereignis von Application behandelt.
Öffentlicher Delegat ThreadStart Stellt die Methode dar, die für einen Thread ausgeführt wird.
Öffentlicher Delegat TimerCallback Stellt die Methode dar, die Aufrufe von einem Timer behandelt.
Öffentlicher Delegat WaitCallback Stellt die Rückrufmethode dar, die von einem Thread des Threadpools ausgeführt werden soll.
Öffentlicher Delegat WaitOrTimerCallback Stellt eine Methode dar, die aufgerufen werden soll, wenn ein Signal an ein WaitHandle gesendet wird oder dessen Timeout überschritten ist.

Enumerationen

  Enumeration Beschreibung
Öffentliche Enumeration ApartmentState Gibt den Apartmentzustand eines Thread an.
Öffentliche Enumeration EventResetMode Gibt an, ob eine EventWaitHandle-Klasse nach dem Empfangen eines Signals automatisch oder manuell zurückgesetzt wird.
Öffentliche Enumeration ThreadPriority Gibt die Planungspriorität eines Thread an.
Öffentliche Enumeration ThreadState Gibt die Ausführungszustände eines Thread an.