System.Threading Namespace

Der System.Threading-Namespace stellt Klassen und Schnittstellen bereit, die Multithreadprogrammierung ermöglichen. The System.Threading namespace provides classes and interfaces that enable multithreaded programming. 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. In addition to classes for synchronizing thread activities and access to data (Mutex, Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that allows you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads.

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.The exception that is thrown when one thread acquires a Mutex object that another thread has abandoned by exiting without releasing it.

AsyncLocal<T>

Stellt Umgebungsdaten dar, die für eine angegebene asynchrone Ablaufsteuerung lokal sind, wie etwa eine asynchrone Methode.Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method.

AutoResetEvent

Stellt ein Threadsynchronisierungsereignis dar, das automatisch ausgelöst wird, nachdem ein einzelner wartender Thread freigegeben wurde.Represents a thread synchronization event that, when signaled, resets automatically after releasing a single waiting thread. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

Barrier

Ermöglicht es mehreren Aufgaben, parallel über mehrere Phasen gemeinsam an einem Algorithmus zu arbeiten.Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.

BarrierPostPhaseException

Die Ausnahme, die bei einem Fehler der Nachphasenaktion einer Barrier ausgelöst wird.The exception that is thrown when the post-phase action of a Barrier fails

CancellationTokenSource

Signalisiert einem CancellationToken, dass es abgebrochen werden soll.Signals to a CancellationToken that it should be canceled.

CompressedStack

Stellt Methoden zum Festlegen und Erfassen des komprimierten Stapels für den aktuellen Thread bereit.Provides methods for setting and capturing the compressed stack on the current thread. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

CountdownEvent

Stellt einen Synchronisierungsprimitiven dar, dem signalisiert wird, wenn sein Zähler 0 (null) erreicht.Represents a synchronization primitive that is signaled when its count reaches zero.

EventWaitHandle

Stellt ein Threadsynchronisierungsereignis dar.Represents a thread synchronization event.

ExecutionContext

Verwaltet den Ausführungskontext für den aktuellen Thread.Manages the execution context for the current thread. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

HostExecutionContext

Kapselt den Hostausführungskontext und gibt ihn threadübergreifend weiter.Encapsulates and propagates the host execution context across threads.

HostExecutionContextManager

Stellt die Funktionen bereit, über die ein Host der Common Language Runtime am Fluss teilnehmen oder der Ausführungskontext migriert werden kann.Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context.

Interlocked

Stellt atomare Vorgänge für Variablen bereit, die von mehreren Threads gemeinsam genutzt werden.Provides atomic operations for variables that are shared by multiple threads.

LazyInitializer

Stellt verzögerte Initialisierungsroutinen bereit.Provides lazy initialization routines.

LockRecursionException

Die Ausnahme, die ausgelöst wird, wenn die rekursive Anforderung einer Sperre nicht mit der Rekursionsrichtlinie der Sperre kompatibel ist.The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.

ManualResetEvent

Stellt ein Threadsynchronisierungsereignis dar; muss bei Signalisierung manuell zurückgesetzt werden.Represents a thread synchronization event that, when signaled, must be reset manually. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

ManualResetEventSlim

Stellt ein Threadsynchronisierungsereignis dar, das bei Signalisierung manuell zurückgesetzt werden muss.Represents a thread synchronization event that, when signaled, must be reset manually. Diese Klasse ist eine einfache Alternative zu ManualResetEvent.This class is a lightweight alternative to ManualResetEvent.

Monitor

Stellt einen Mechanismus bereit, der den Zugriff auf Objekte synchronisiert.Provides a mechanism that synchronizes access to objects.

Mutex

Ein primitiver Synchronisierungstyp, der auch für die prozessübergreifende Synchronisierung verwendet werden kann.A synchronization primitive that can also be used for interprocess synchronization.

Overlapped

Bietet eine verwaltete Darstellung einer Win32-OVERLAPPED-Struktur, einschließlich Methoden zum Übertragen von Informationen aus einer Overlapped-Instanz in eine NativeOverlapped-Struktur.Provides a managed representation of a Win32 OVERLAPPED structure, including methods to transfer information from an Overlapped instance to a NativeOverlapped structure.

PreAllocatedOverlapped

Stellt den Zustand vor der Zuweisung für native überlappende E/-A-Vorgänge dar.Represents pre-allocated state for native overlapped I/O operations.

ReaderWriterLock

Definiert eine Sperre, die einen Writer und mehrere Reader unterstützt.Defines a lock that supports single writers and multiple readers.

ReaderWriterLockSlim

Stellt eine Sperre dar, mit der der Zugriff auf eine Ressource verwaltet wird. Mehrere Threads können hierbei Lesezugriff oder exklusiven Schreibzugriff erhalten.Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.

RegisteredWaitHandle

Stellt ein Handle, das beim Aufrufen von registriert wurde RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean).Represents a handle that has been registered when calling RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

Semaphore

Schränkt die Anzahl von Threads ein, die gleichzeitig auf eine Ressource oder einen Pool von Ressourcen zugreifen können.Limits the number of threads that can access a resource or pool of resources concurrently.

SemaphoreFullException

Die Ausnahme, die ausgelöst wird, wenn die Release-Methode für ein Semaphor aufgerufen wird, dessen Zähler bereits den Maximalwert aufweist.The exception that is thrown when the Release method is called on a semaphore whose count is already at the maximum.

SemaphoreSlim

Eine einfache Alternative zu Semaphore, die die Anzahl der Threads beschränkt, die gleichzeitig auf eine Ressource oder einen Ressourcenpool zugreifen können.Represents a lightweight alternative to Semaphore that limits the number of threads that can access a resource or pool of resources concurrently.

SynchronizationContext

Stellt die Basisfunktionen für die Weitergabe eines Synchronisierungskontexts in unterschiedlichen Synchronisierungsmodellen bereit.Provides the basic functionality for propagating a synchronization context in various synchronization models.

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.The exception that is thrown when a method requires the caller to own the lock on a given Monitor, and the method is invoked by a caller that does not own that lock.

Thread

Erstellt und steuert einen Thread, legt dessen Priorität fest und ruft den Status ab.Creates and controls a thread, sets its priority, and gets its status.

ThreadAbortException

Die Ausnahme, die bei einem Aufruf der Abort(Object)-Methode ausgelöst wird.The exception that is thrown when a call is made to the Abort(Object) method. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

ThreadExceptionEventArgs

Stellt Daten für das ThreadException-Ereignis bereit.Provides data for the ThreadException event.

ThreadingAclExtensions
ThreadInterruptedException

Die Ausnahme, die ausgelöst wird, wenn ein Thread im Wartezustand unterbrochen wird.The exception that is thrown when a Thread is interrupted while it is in a waiting state.

ThreadLocal<T>

Stellt Thread-lokalen Datenspeicher bereit.Provides thread-local storage of data.

ThreadPool

Stellt einen Threadpool bereit, der verwendet werden kann, um Aufgaben auszuführen, Arbeitsaufgaben bereitzustellen, asynchrone E/A zu verarbeiten, im Auftrag anderer Threads zu warten und Zeitgeber zu verarbeiten.Provides a pool of threads that can be used to execute tasks, post work items, process asynchronous I/O, wait on behalf of other threads, and process timers.

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.Represents an I/O handle that is bound to the system thread pool and enables low-level components to receive notifications for asynchronous I/O operations.

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.The exception that is thrown when a failure occurs in a managed thread after the underlying operating system thread has been started, but before the thread is ready to execute user code.

ThreadStateException

Die Ausnahme, die ausgelöst wird, wenn sich ein Thread in einem für den Methodenaufruf ungültigen ThreadState befindet.The exception that is thrown when a Thread is in an invalid ThreadState for the method call.

Timeout

Enthält Konstanten, die unendliche Timeoutintervalle angeben.Contains constants that specify infinite time-out intervals. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

Timer

Stellt einen Mechanismus zum Ausführen einer Methode für einen Threadpoolthread in angegebenen Intervallen bereit.Provides a mechanism for executing a method on a thread pool thread at specified intervals. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

Volatile

Enthält Methoden zum Ausführen von flüchtigen Speichervorgängen.Contains methods for performing volatile memory operations.

WaitHandle

Kapselt betriebssystemspezifische Objekte, die auf exklusiven Zugriff auf gemeinsam genutzte Ressourcen warten.Encapsulates operating system-specific objects that wait for exclusive access to shared resources.

WaitHandleCannotBeOpenedException

Diese Ausnahme wird bei dem Versuch ausgelöst, ein nicht vorhandenes Systemmutex, Semaphor oder Wait-Handle eines Ereignisses zu öffnen.The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist.

WaitHandleExtensions

Stellt Hilfsmethoden für die Arbeit mit einem sicheren Handle für ein Wait-Handle bereit.Provides convenience methods to for working with a safe handle for a wait handle.

Strukturen

AsyncFlowControl

Stellt die Funktionen zum Wiederherstellen der Migration oder des Flusses des Ausführungskontexts zwischen Threads bereit.Provides the functionality to restore the migration, or flow, of the execution context between threads.

AsyncLocalValueChangedArgs<T>

Die Klasse, die AsyncLocal<T>-Instanzen, die sich für Änderungsbenachrichtigungen registrieren, Informationen über Datenänderungen zur Verfügung stellt.The class that provides data change information to AsyncLocal<T> instances that register for change notifications.

CancellationToken

Gibt eine Benachrichtigung darüber weiter, dass Vorgänge abgebrochen werden sollen.Propagates notification that operations should be canceled.

CancellationTokenRegistration

Stellt einen Rückrufdelegaten dar, der bei einem CancellationToken registriert wurde.Represents a callback delegate that has been registered with a CancellationToken.

LockCookie

Definiert die Sperre, die die Semantik für einen Writer und mehrere Reader implementiert.Defines the lock that implements single-writer/multiple-reader semantics. Dies ist ein Werttyp.This is a value type.

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.Provides an explicit layout that is visible from unmanaged code and that will have the same layout as the Win32 OVERLAPPED structure with additional reserved fields at the end.

SpinLock

Stellt einen sich gegenseitig ausschließenden Sperrprimitiven bereit, wobei ein Thread, der versucht, die Sperre abzurufen, wiederholt in einer Schleife wartet, bis die Sperre verfügbar wird.Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available.

SpinWait

Stellt Unterstützung für Spin-basierte Wartevorgänge bereit.Provides support for spin-based waiting.

Schnittstellen

IThreadPoolWorkItem

Enumerationen

ApartmentState

Gibt den Apartmentzustand eines Thread an.Specifies the apartment state of a Thread.

EventResetMode

Gibt an, ob eine EventWaitHandle-Klasse nach dem Empfangen eines Signals automatisch oder manuell zurückgesetzt wird.Indicates whether an EventWaitHandle is reset automatically or manually after receiving a signal.

LazyThreadSafetyMode

Gibt an, wie eine Lazy<T>-Instanz den Zugriff bei mehreren Threads synchronisiert.Specifies how a Lazy<T> instance synchronizes access among multiple threads.

LockRecursionPolicy

Gibt an, ob eine Sperre mehrmals dem gleichen Thread zugewiesen werden kann.Specifies whether a lock can be entered multiple times by the same thread.

ThreadPriority

Gibt die Planungspriorität eines Thread an.Specifies the scheduling priority of a Thread.

ThreadState

Gibt die Ausführungszustände eines Thread an.Specifies the execution states of a Thread.

Delegaten

ContextCallback

Stellt eine Methode dar, die in einem neuen Kontext aufgerufen werden muss.Represents a method to be called within a new context.

IOCompletionCallback

Empfängt beim Abschluss einer E/A-Operation im Threadpool den Fehlercode, die Anzahl der Bytes sowie den überlappenden Werttyp.Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool.

ParameterizedThreadStart

Stellt die Methode dar, die in einem Thread ausgeführt wird.Represents the method that executes on a Thread.

SendOrPostCallback

Stellt eine Methode dar, die aufgerufen werden muss, wenn eine Nachricht an einen Synchronisierungskontext gesendet werden soll.Represents a method to be called when a message is to be dispatched to a synchronization context.

ThreadExceptionEventHandler

Stellt die Methode dar, die das ThreadException-Ereignis eines Application behandelt.Represents the method that will handle the ThreadException event of an Application.

ThreadStart

Stellt die Methode dar, die in einem Thread ausgeführt wird.Represents the method that executes on a Thread.

TimerCallback

Stellt die Methode dar, die Aufrufe von einem Timer behandelt.Represents the method that handles calls from a Timer.

WaitCallback

Stellt die Rückrufmethode dar, die von einem Thread des Threadpools ausgeführt werden soll.Represents a callback method to be executed by a thread pool thread.

WaitOrTimerCallback

Stellt eine Methode dar, die aufgerufen werden soll, wenn ein Signal an ein WaitHandle gesendet wird oder dessen Timeout überschritten ist.Represents a method to be called when a WaitHandle is signaled or times out.