System.Threading 命名空间

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

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

结构

  结构 说明
公共结构 AsyncFlowControl 提供功能以还原执行上下文在线程之间的迁移(或流动)。
公共结构 LockCookie 定义实现单个编写器/多个阅读器语义的锁。这是值类型。
公共结构 NativeOverlapped 提供一种显式布局,它在非托管代码中可见,并将具有与 Win32 OVERLAPPED 结构相同的布局且在结尾有附加保留的字段。

委托

  委托 说明
公共委托 ContextCallback 表示要在新上下文中调用的方法。
公共委托 IOCompletionCallback 当 I/O 操作在线程池上完成时接收错误代码、字节数和重叠值类型。
公共委托 ParameterizedThreadStart 表示在 Thread 上执行的方法。
公共委托 SendOrPostCallback 表示在消息即将被调度到同步上下文时要调用的方法。
公共委托 ThreadExceptionEventHandler 表示将要处理 ApplicationThreadException 事件的方法。
公共委托 ThreadStart 表示在 Thread 上执行的方法。
公共委托 TimerCallback 表示处理来自 Timer 的调用的方法。
公共委托 WaitCallback 表示线程池线程要执行的回调方法。
公共委托 WaitOrTimerCallback 表示当 WaitHandle 超时或终止时要调用的方法。

枚举

  枚举 说明
公共枚举 ApartmentState 指定 Thread 的单元状态。
公共枚举 EventResetMode 指示在接收信号后是自动重置 EventWaitHandle 还是手动重置。
公共枚举 ThreadPriority 指定 Thread 的调度优先级。
公共枚举 ThreadState 指定 Thread 的执行状态。