System.Threading Namespace
.NET Framework 2.0
The System.Threading namespace provides classes and interfaces that enable multithreaded programming. 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.
| Class | Description | |
|---|---|---|
![]() | AbandonedMutexException | The exception that is thrown when one thread acquires a Mutex object that another thread has abandoned by exiting without releasing it. |
![]() | AutoResetEvent | Notifies a waiting thread that an event has occurred. This class cannot be inherited. |
![]() | CompressedStack | Provides methods for setting and capturing the compressed stack on the current thread. This class cannot be inherited. |
![]() | EventWaitHandle | Represents a thread synchronization event. |
![]() | ExecutionContext | Manages the execution context for the current thread. This class cannot be inherited. |
![]() | HostExecutionContext | Encapsulates and propagates the host execution context across threads. |
![]() | HostExecutionContextManager | Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context. |
![]() | Interlocked | Provides atomic operations for variables that are shared by multiple threads. |
![]() | ManualResetEvent | Notifies one or more waiting threads that an event has occurred. This class cannot be inherited. |
![]() | Monitor | Provides a mechanism that synchronizes access to objects. |
![]() | Mutex | A synchronization primitive that can also be used for interprocess synchronization. |
![]() | Overlapped | Provides a managed representation of a Win32 OVERLAPPED structure, including methods to transfer information from an Overlapped instance to a NativeOverlapped structure. |
![]() | ReaderWriterLock | Defines a lock that supports single writers and multiple readers. |
![]() | RegisteredWaitHandle | Represents a handle that has been registered when calling RegisterWaitForSingleObject. This class cannot be inherited. |
![]() | Semaphore | Limits the number of threads that can access a resource or pool of resources concurrently. |
![]() | SemaphoreFullException | The exception that is thrown when the System.Threading.Semaphore.Release method is called on a semaphore whose count is already at the maximum. |
![]() | SynchronizationContext | Provides the basic functionality for propagating a synchronization context in various synchronization models. |
![]() | SynchronizationLockException | 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 | Creates and controls a thread, sets its priority, and gets its status. |
![]() | ThreadAbortException | The exception that is thrown when a call is made to the Abort method. This class cannot be inherited. |
![]() | ThreadExceptionEventArgs | Provides data for the ThreadException event. |
![]() | ThreadInterruptedException | The exception that is thrown when a Thread is interrupted while it is in a waiting state. |
![]() | ThreadPool | Provides a pool of threads that can be used to post work items, process asynchronous I/O, wait on behalf of other threads, and process timers. |
![]() | ThreadStartException | 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 | The exception that is thrown when a Thread is in an invalid ThreadState for the method call. |
![]() | Timeout | Contains a constant used to specify an infinite amount of time. This class cannot be inherited. |
![]() | Timer | Provides a mechanism for executing a method at specified intervals. This class cannot be inherited. |
![]() | WaitHandle | Encapsulates operating system–specific objects that wait for exclusive access to shared resources. |
![]() | WaitHandleCannotBeOpenedException | The exception that is thrown when an attempt is made to open a system mutex or semaphore that does not exist. |
| Structure | Description | |
|---|---|---|
![]() | AsyncFlowControl | Provides the functionality to restore the migration, or flow, of the execution context between threads. |
![]() | LockCookie | Defines the lock that implements single-writer/multiple-reader semantics. This is a value type. |
![]() | NativeOverlapped | 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. |
| Delegate | Description | |
|---|---|---|
![]() | ContextCallback | Represents a method to be called within a new context. |
![]() | IOCompletionCallback | Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool. |
![]() | ParameterizedThreadStart | Represents the method that executes on a Thread. |
![]() | SendOrPostCallback | Represents a method to be called when a message is to be dispatched to a synchronization context. |
![]() | ThreadExceptionEventHandler | Represents the method that will handle the ThreadException event of an Application. |
![]() | ThreadStart | Represents the method that executes on a Thread. |
![]() | TimerCallback | Represents the method that handles calls from a Timer. |
![]() | WaitCallback | Represents a callback method to be executed by a thread pool thread. |
![]() | WaitOrTimerCallback | Represents a method to be called when a WaitHandle is signaled or times out. |
| Enumeration | Description | |
|---|---|---|
![]() | ApartmentState | Specifies the apartment state of a Thread. |
![]() | EventResetMode | Indicates whether an EventWaitHandle is reset automatically or manually after receiving a signal. |
![]() | ThreadPriority | Specifies the scheduling priority of a Thread. |
![]() | ThreadState | Specifies the execution states of a Thread. |
Community Additions
ADD
Show:



