Threading objects and features

Along with the System.Threading.Thread class, .NET provides a number of classes that help you develop multithreaded applications. The following articles provide overview of those classes:

Title Description
The managed thread pool Describes the System.Threading.ThreadPool class, which provides a pool of worker threads that are managed by .NET.
Timers Describes .NET timers that can be used in a multithreaded environment.
Overview of synchronization primitives Describes types that can be used to synchronize access to a shared resource or control thread interaction.
EventWaitHandle, AutoResetEvent, CountdownEvent, ManualResetEvent Describes managed event wait handles, which are used to synchronize thread activities by signaling and waiting for signals.
Mutexes Describes System.Threading.Mutex, which grants exclusive access to a shared resource.
Interlocked operations Describes the System.Threading.Interlocked class, which provides atomic operations for variables that are shared by multiple threads.
Reader-Writer Locks Describes the System.Threading.ReaderWriterLockSlim class, which provides single-writer/multiple-reader access to a shared resource.
Semaphore and SemaphoreSlim Describes the System.Threading.Semaphore class, which limits number of threads that can access a shared resource or a pool of resources concurrently.
Barrier Describes the System.Threading.Barrier class that implements the barrier pattern for coordination of threads in phased operations.
SpinLock Describes the System.Threading.SpinLock structure, which is a lightweight alternative to the System.Threading.Monitor class for certain low-level locking scenarios.
SpinWait Describes the System.Threading.SpinWait structure, which provides support for spin-based waiting.

See also