System.Threading 命名空间

提供支持多线程编程的类和接口。 除同步线程活动和数据访问的类(MutexMonitorInterlockedAutoResetEvent等)之外,此命名空间还包含一个 ThreadPool 类(它可让用户使用系统提供的线程池)和一个 Timer 类(在线程池线程上执行回调方法)。

AbandonedMutexException

当某个线程获取由另一个线程放弃(即在未释放的情况下退出)的 Mutex 对象时引发的异常。

AsyncLocal<T>

表示对于给定异步控制流(如异步方法)是本地数据的环境数据。

AutoResetEvent

表示一个线程同步事件,该事件在发出信号时释放一个等待线程,然后自动重置。 此类不能被继承。

Barrier

使多个任务能够采用并行方式依据某种算法在多个阶段中协同工作。

BarrierPostPhaseException

Barrier 阶段后操作失败时引发的异常。

CancellationTokenSource

通知 CancellationToken,告知其应被取消。

CompressedStack

提供方法用于设置和捕获当前线程上的压缩堆栈。 此类不能被继承。

CountdownEvent

表示在计数变为零时处于有信号状态的同步基元。

EventWaitHandle

表示一个线程同步事件。

EventWaitHandleAcl

提供了一种特定于 Windows 的扩展方法,用于通过特定的访问控制列表 (ACL) 安全性来创建 EventWaitHandle 对象。

ExecutionContext

管理当前线程的执行上下文。 此类不能被继承。

HostExecutionContext

在线程之间封装并传播宿主执行上下文。

HostExecutionContextManager

提供使公共语言运行时宿主可以参与执行上下文的流动(或移植)的功能。

Interlocked

为多个线程共享的变量提供原子操作。

LazyInitializer

提供延迟初始化例程。

Lock

提供一种机制,用于在不同线程之间的代码区域中实现相互排斥。

LockRecursionException

当进入锁定状态的递归与此锁定的递归策略不兼容时引发的异常。

ManualResetEvent

表示线程同步事件,收到信号时,必须手动重置该事件。 此类不能被继承。

ManualResetEventSlim

表示线程同步事件,收到信号时,必须手动重置该事件。 此类是 ManualResetEvent 的轻量替代项。

Monitor

提供同步访问对象的机制。

Mutex

还可用于进程间同步的同步基元。

MutexAcl

提供了一种特定于 Windows 的扩展方法,用于通过特定的访问控制列表 (ACL) 安全性来创建 Mutex 对象。

Overlapped

提供 Win32 OVERLAPPED 结构的托管表现形式,包括从 Overlapped 实例向 NativeOverlapped 结构传输信息的方式。

PeriodicTimer

提供一个定期计时器,用于异步等待计时器计时周期。

PreAllocatedOverlapped

表示本机重叠 I/O 操作的预分配状态。

ReaderWriterLock

定义支持单个写线程和多个读线程的锁。

ReaderWriterLockSlim

表示用于管理资源访问的锁定状态,可实现多线程读取或进行独占式写入访问。

RegisteredWaitHandle

表示在调用 RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean) 时已注册的句柄。 此类不能被继承。

Semaphore

限制可同时访问某一资源或资源池的线程数。

SemaphoreAcl

提供了一种特定于 Windows 的扩展方法,用于通过特定的访问控制列表 (ACL) 安全性来创建 Semaphore 对象。

SemaphoreFullException

对已经达到最大计数值的信号量调用 Release 方法时引发的异常。

SemaphoreSlim

对可同时访问资源或资源池的线程数加以限制的 Semaphore 的轻量替代。

SynchronizationContext

提供在各种同步模型中传播同步上下文的基本功能。

SynchronizationLockException

当某个方法要求调用方拥有给定 Monitor 上的锁并且该方法由不拥有该锁的调用方调用时引发的异常。

Thread

创建和控制线程,设置其优先级并获取其状态。

ThreadAbortException

当对 Abort(Object) 方法发出调用时引发的异常。 此类不能被继承。

ThreadExceptionEventArgs

ThreadException 事件提供数据。

ThreadingAclExtensions

提供特定于 Windows 的扩展方法,用来管理 EventWaitHandleMutexSemaphore 的访问控制列表 (ACL) 安全描述符。

ThreadInterruptedException

中断处于等待状态的 Thread 时引发的异常。

ThreadLocal<T>

提供数据的线程本地存储。

ThreadPool

提供一个线程池,该线程池可用于执行任务、发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。

ThreadPoolBoundHandle

表示已绑定到系统线程池的 I/O 句柄,并使低级别组件能够接收异步 I/O 操作的通知。

ThreadStartException

当基础操作系统线程已启动但该线程尚未准备好执行用户代码前,托管线程中出现错误,则会引发异常。

ThreadStateException

Thread 处于对方法调用无效的 ThreadState 时引发的异常。

Timeout

包含指定无限期超时间隔的常数。 此类不能被继承。

Timer

提供以指定的时间间隔对线程池线程执行方法的机制。 此类不能被继承。

Volatile

包含用于执行可变内存操作的方法。

WaitHandle

封装等待对共享资源进行独占访问的操作系统特定的对象。

WaitHandleCannotBeOpenedException

当尝试打开不存在的系统互斥体、信号量或事件等待句柄时引发的异常。

WaitHandleExtensions

提供针对 wait 句柄使用 safe 句柄的简便方法。

结构

AsyncFlowControl

提供功能以还原执行上下文在线程之间的迁移(或流动)。

AsyncLocalValueChangedArgs<T>

向针对更改通知进行了注册的 AsyncLocal<T> 实例提供数据更改信息的类。

CancellationToken

传播有关应取消操作的通知。

CancellationTokenRegistration

表示已向 CancellationToken 注册的回调委托。

Lock.Scope

表示 Lock 可能已输入的 。

LockCookie

定义实现单个编写器/多个阅读器语义的锁。 这是值类型。

NativeOverlapped

提供可从非托管代码查看的显式布局,与 Win32 OVERLAPPED 结构的布局相同,末尾具有其他保留字段。

SpinLock

提供一个相互排斥锁基元,在该基元中,尝试获取锁的线程将在重复检查的循环中等待,直至该锁变为可用为止。

SpinWait

为基于自旋的等待提供支持。

接口

IThreadPoolWorkItem

表示可由 ThreadPool 执行的工作项。

ITimer

表示可以更改其到期时间和时间段的计时器。

枚举

ApartmentState

指定 Thread 的单元状态。

EventResetMode

指示在接收信号后是自动重置 EventWaitHandle 还是手动重置。

LazyThreadSafetyMode

指定 Lazy<T> 实例如何同步多个线程间的访问。

LockRecursionPolicy

指定同一个线程是否可以多次进入一个锁定状态。

ThreadPriority

指定 Thread 的调度优先级。

ThreadState

指定 Thread 的执行状态。

委托

ContextCallback

表示要在新的上下文中调用的方法。

IOCompletionCallback

当 I/O 操作在线程池上完成时接收错误代码、字节数和重叠值类型。

ParameterizedThreadStart

表示在 Thread 上执行的方法。

SendOrPostCallback

表示在消息即将被调度到同步上下文时要调用的方法。

ThreadExceptionEventHandler

表示将要处理 ApplicationThreadException 事件的方法。

ThreadStart

表示在 Thread 上执行的方法。

TimerCallback

表示处理来自 Timer 的调用的方法。

WaitCallback

表示要由线程池线程执行的回调方法。

WaitOrTimerCallback

表示当 WaitHandle 超时或终止时要调用的方法。