System.Threading 命名空间
System.Threading 命名空间提供一些使得可以进行多线程编程的类和接口。除同步线程活动和访问数据的类(Mutex、Monitor、Interlocked、AutoResetEvent 等)外,此命名空间还包含一个 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 | 表示将要处理 Application 的 ThreadException 事件的方法。 | |
ThreadStart | 表示在 Thread 上执行的方法。 | |
TimerCallback | 表示处理来自 Timer 的调用的方法。 | |
WaitCallback | 表示线程池线程要执行的回调方法。 | |
WaitOrTimerCallback | 表示当 WaitHandle 超时或终止时要调用的方法。 |
枚举
枚举 | 说明 | |
---|---|---|
ApartmentState | 指定 Thread 的单元状态。 | |
EventResetMode | 指示在接收信号后是自动重置 EventWaitHandle 还是手动重置。 | |
ThreadPriority | 指定 Thread 的调度优先级。 | |
ThreadState | 指定 Thread 的执行状态。 |