The 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.namespace provides classes and interfaces that enable multithreaded programming. In addition to classes for synchronizing thread activities and access to data (
The exception that is thrown when one thread acquires a Mutex object that another thread has abandoned by exiting without releasing it.
Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method.
Notifies a waiting thread that an event has occurred. This class cannot be inherited.
Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.
The exception that is thrown when the post-phase action of a Barrier fails
Signals to a CancellationToken that it should be canceled.
Provides methods for setting and capturing the compressed stack on the current thread. This class cannot be inherited.
Represents a synchronization primitive that is signaled when its count reaches zero.
Represents a thread synchronization event.
Manages the execution context for the current thread. This class cannot be inherited.
Encapsulates and propagates the host execution context across threads.
Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context.
Provides atomic operations for variables that are shared by multiple threads.
Provides lazy initialization routines.
The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.
Notifies one or more waiting threads that an event has occurred. This class cannot be inherited.
Provides a slimmed down version of ManualResetEvent.
Provides a mechanism that synchronizes access to objects.
A synchronization primitive that can also be used for interprocess synchronization.
Defines a lock that supports single writers and multiple readers.
Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.
Represents a handle that has been registered when calling RegisterWaitForSingleObject. This class cannot be inherited.
Limits the number of threads that can access a resource or pool of resources concurrently.
The exception that is thrown when the Semaphore.Release method is called on a semaphore whose count is already at the maximum.
Represents a lightweight alternative to Semaphore that limits the number of threads that can access a resource or pool of resources concurrently.
Provides the basic functionality for propagating a synchronization context in various synchronization models.
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.
Creates and controls a thread, sets its priority, and gets its status.
The exception that is thrown when a call is made to the Abort method. This class cannot be inherited.
Provides data for the ThreadException event.
The exception that is thrown when a Thread is interrupted while it is in a waiting state.
Provides thread-local storage of data.
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.
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.
Contains constants that specify infinite time-out intervals. This class cannot be inherited.
Provides a mechanism for executing a method on a thread pool thread at specified intervals. This class cannot be inherited.
To browse the .NET Framework source code for this type, see the Reference Source.
Contains methods for performing volatile memory operations.
Encapsulates operating system–specific objects that wait for exclusive access to shared resources.
The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist.
Provides convenience methods to for working with a safe handle for a wait handle.
Provides the functionality to restore the migration, or flow, of the execution context between threads.
The class that provides data change information to AsyncLocal<T> instances that register for change notifications.
Propagates notification that operations should be canceled.
Represents a callback delegate that has been registered with a CancellationToken.
Defines the lock that implements single-writer/multiple-reader semantics. This is a value type.
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.
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.
Provides support for spin-based waiting.
Represents a method to be called within a new context.
Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool.
Represents the method that executes on a Thread.
Represents a method to be called when a message is to be dispatched to a synchronization context.
Represents the method that executes on a Thread.
Represents the method that handles calls from a Timer.
Represents a callback method to be executed by a thread pool thread.
Represents a method to be called when a WaitHandle is signaled or times out.
Specifies the apartment state of a Thread.
Indicates whether an EventWaitHandle is reset automatically or manually after receiving a signal.
Specifies how a System.Lazy<T> instance synchronizes access among multiple threads.
Specifies whether a lock can be entered multiple times by the same thread.
Specifies the scheduling priority of a Thread.
Specifies the execution states of a Thread.