System.Threading

本文介绍了System.Threading命名空间,提供了多线程编程所需的类和接口。这些包括用于同步线程活动的Mutex、Monitor等类,以及ThreadPool和Timer类,分别用于线程池管理和定时任务执行。
System.Threading 命名空间

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

 结构说明
公共结构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 的执行状态。

 说明
公共类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 方法进行调用时引发的异常。无法继承此类。
公共类ThreadExceptionEventArgsThreadException 事件提供数据。
公共类ThreadInterruptedException中断处于等待状态的 Thread 时引发的异常。
公共类ThreadPool提供一个线程池,该线程池可用于发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。
公共类ThreadStartException当基础操作系统线程已启动但该线程尚未准备好执行用户代码前,托管线程中出现错误,则会引发异常。
公共类ThreadStateExceptionThread 处于对方法调用无效的 ThreadState 时引发的异常。
公共类Timeout包含用于指定无限长的时间的常数。无法继承此类。
公共类Timer提供以指定的时间间隔执行方法的机制。无法继承此类。
公共类WaitHandle封装等待对共享资源的独占访问的操作系统特定的对象。
公共类WaitHandleCannotBeOpenedException在试图打开不存在的系统互斥体或信号量时引发的异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值