System.Threading 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供支持多线程编程的类和接口。 除同步线程活动和数据访问的类(Mutex、Monitor、 Interlocked、AutoResetEvent等)之外,此命名空间还包含一个 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 |
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 的扩展方法,用来管理 EventWaitHandleMutex 和 Semaphore 的访问控制列表 (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 |
表示将要处理 Application 的 ThreadException 事件的方法。 |
ThreadStart |
表示在 Thread 上执行的方法。 |
TimerCallback |
表示处理来自 Timer 的调用的方法。 |
WaitCallback |
表示要由线程池线程执行的回调方法。 |
WaitOrTimerCallback |
表示当 WaitHandle 超时或终止时要调用的方法。 |