System.Threading 命名空间提供一些使得可以进行多线程编程的类和接口。除同步线程活动和访问数据的类(Mutex、Monitor、Interlocked、AutoResetEvent 等)外,此命名空间还包含一个 ThreadPool 类(它允许用户使用系统提供的线程池)和一个 Timer 类(它在线程池线程上执行回调方法)。
类 | 说明 | |
---|---|---|
AbandonedMutexException | 当某个线程获取由另一个线程放弃(即在未释放的情况下退出)的 Mutex 对象时引发的异常。 | |
AutoResetEvent | 通知正在等待的线程已发生事件。无法继承此类。 | |
CompressedStack | 提供方法用于设置和捕获当前线程上的压缩堆栈。无法继承此类。 | |
EventWaitHandle | 表示一个线程同步事件。 | |
ExecutionContext | 管理当前线程的执行上下文。无法继承此类。 | |
HostExecutionContext | 在线程之间封装并传播宿主执行上下文。 | |
HostExecutionContextManager | 提供使公共语言运行库宿主可以参与执行上下文的流动(或移植)的功能。 | |
Interlocked | 为多个线程共享的变量提供原子操作。 | |
LockRecursionException | 当进入锁定状态的递归与此锁定的递归策略不兼容时引发的异常。 | |
ManualResetEvent | 通知一个或多个正在等待的线程已发生事件。无法继承此类。 | |
Monitor | 提供同步访问对象的机制。 | |
Mutex | 一个同步基元,也可用于进程间同步。 | |
Overlapped | 提供一个 Win32 OVERLAPPED 结构的托管表示形式,包括将信息从 Overlapped 实例传输到 NativeOverlapped 结构的方法。 | |
ReaderWriterLock | 定义支持单个写线程和多个读线程的锁。 | |
ReaderWriterLockSlim | 表示用于管理资源访问的锁定状态,可实现多线程读取或进行独占式写入访问。 | |
RegisteredWaitHandle | 表示在调用 RegisterWaitForSingleObject 时已注册的句柄。无法继承此类。 | |
Semaphore | 限制可同时访问某一资源或资源池的线程数。 | |
SemaphoreFullException | 对计数已达到最大值的信号量调用 Semaphore..::.Release 方法时引发的异常。 | |
SynchronizationContext | 提供在各种同步模型中传播同步上下文的基本功能。 | |
SynchronizationLockException | 当某个方法请求调用方拥有给定 Monitor 上的锁时将引发该异常,而且由不拥有该锁的调用方调用此方法。 | |
Thread | 创建并控制线程,设置其优先级并获取其状态。 | |
ThreadAbortException | 在对 Abort 方法进行调用时引发的异常。无法继承此类。 | |
ThreadExceptionEventArgs | 为 ThreadException 事件提供数据。 | |
ThreadInterruptedException | 中断处于等待状态的 Thread 时引发的异常。 | |
ThreadPool | 提供一个线程池,该线程池可用于发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。 | |
ThreadStartException | 当基础操作系统线程已启动但该线程尚未准备好执行用户代码前,托管线程中出现错误,则会引发异常。 | |
ThreadStateException | 当 Thread 处于对方法调用无效的 ThreadState 时引发的异常。 | |
Timeout | 包含用于指定无限长的时间的常数。无法继承此类。 | |
Timer | 提供以指定的时间间隔执行方法的机制。无法继承此类。 | |
WaitHandle | 封装等待对共享资源的独占访问的操作系统特定的对象。 | |
WaitHandleCannotBeOpenedException | 在试图打开不存在的系统互斥体或信号量时引发的异常。 |