System.Threading 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供启用多线程编程的类和接口。 除了用于同步线程活动和访问数据的类(、、、Mutex等),此命名空间还包括一个Monitor类,该类允许你使用系统提供的线程池,以及一个Interlocked在线程池线程上执行回调方法的AutoResetEvent类。 ThreadPoolTimer
类
| 名称 | 说明 |
|---|---|
| AbandonedMutexException |
当一个线程获取另一个 Mutex 线程通过退出而不释放该对象而放弃的对象时引发的异常。 |
| AsyncLocal<T> |
表示给定异步控制流(例如异步方法)本地的环境数据。 |
| AutoResetEvent |
表示一个线程同步事件,当发出信号时,释放一个等待线程,然后自动重置。 此类不能被继承。 |
| Barrier |
允许多个任务通过多个阶段并行处理算法。 |
| BarrierPostPhaseException |
当阶段后操作失败时引发的 Barrier 异常。 |
| CancellationTokenSource |
向 CancellationToken 应取消的信号。 |
| CompressedStack |
提供用于在当前线程上设置和捕获压缩堆栈的方法。 此类不能被继承。 |
| CountdownEvent |
表示在计数达到零时发出信号的同步基元。 |
| EventWaitHandle |
表示线程同步事件。 |
| ExecutionContext |
管理当前线程的执行上下文。 此类不能被继承。 |
| HostExecutionContext |
封装并跨线程传播主机执行上下文。 |
| HostExecutionContextManager |
提供允许公共语言运行时主机参与执行上下文的流或迁移的功能。 |
| Interlocked |
为多个线程共享的变量提供原子操作。 |
| LazyInitializer |
提供延迟初始化例程。 |
| LockRecursionException |
当递归进入锁时引发的异常与锁的递归策略不兼容。 |
| ManualResetEvent |
表示必须手动重置信号的线程同步事件。 此类不能被继承。 |
| ManualResetEventSlim |
表示必须手动重置信号的线程同步事件。 此类是一种轻型替代方法 ManualResetEvent。 |
| Monitor |
提供同步对对象的访问的机制。 |
| Mutex |
也可用于进程间同步的同步基元。 |
| Overlapped |
提供 Win32 |
| PreAllocatedOverlapped |
表示本机重叠 I/O 操作的预分配状态。 |
| ReaderWriterLock |
定义支持单个编写器和多个读取器的锁。 |
| ReaderWriterLockSlim |
表示用于管理对资源的访问的锁,允许多个线程读取或独占访问写入。 |
| RegisteredWaitHandle |
表示在调用 RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean)时已注册的句柄。 此类不能被继承。 |
| Semaphore |
限制可同时访问资源或资源池的线程数。 |
| SemaphoreFullException |
在信号灯上调用该方法时 Release 引发的异常,信号灯的计数已达到最大值。 |
| SemaphoreSlim |
表示一种轻型替代方法 Semaphore ,用于限制可同时访问资源或资源池的线程数。 |
| SynchronizationContext |
提供用于在各种同步模型中传播同步上下文的基本功能。 |
| SynchronizationLockException |
当方法要求调用方在给定监视器上拥有锁并且该方法由不拥有该锁的调用方调用时引发的异常。 |
| Thread |
创建和控制线程、设置其优先级并获取其状态。 |
| ThreadAbortException |
对方法进行调用时引发的 Abort(Object) 异常。 此类不能被继承。 |
| ThreadExceptionEventArgs |
为 ThreadException 事件提供数据。 |
| ThreadInterruptedException |
在处于等待状态时 Thread 中断时引发的异常。 |
| ThreadLocal<T> |
提供数据的线程本地存储。 |
| ThreadPool |
提供可用于执行任务、发布工作项、处理异步 I/O、代表其他线程等待和进程计时器的线程池。 |
| ThreadPoolBoundHandle |
表示绑定到系统线程池的 I/O 句柄,并使低级别组件能够接收异步 I/O 操作的通知。 |
| ThreadStartException |
在启动基础操作系统线程之后,在托管线程中发生失败时引发的异常,但在线程准备好执行用户代码之前。 |
| ThreadStateException |
当方法 Thread 调用无效 ThreadState 时引发的异常。 |
| Timeout |
包含指定无限超时间隔的常量。 此类不能被继承。 |
| Timer |
提供一种机制,用于按指定的时间间隔在线程池线程上执行方法。 此类不能被继承。 |
| Volatile |
包含用于执行易失性内存操作的方法。 |
| WaitHandle |
封装等待对共享资源的独占访问权限的特定于操作系统的对象。 |
| WaitHandleCannotBeOpenedException |
尝试打开系统互斥体、信号灯或不存在的事件等待句柄时引发的异常。 |
| WaitHandleExtensions |
为等待句柄使用安全句柄提供了便利方法。 |
结构
| 名称 | 说明 |
|---|---|
| AsyncFlowControl |
提供在线程之间还原执行上下文的迁移或流的功能。 |
| AsyncLocalValueChangedArgs<T> |
向注册更改通知的实例提供数据更改信息的 AsyncLocal<T> 类。 |
| CancellationToken |
传播应取消操作的通知。 |
| CancellationTokenRegistration |
表示已注册到 a CancellationToken. |
| LockCookie |
定义实现单编写器/多读取器语义的锁。 这是一种值类型。 |
| NativeOverlapped |
提供从非托管代码中可见的显式布局,该布局将与 Win32 OVERLAPPED 结构具有相同的布局,并在末尾具有其他保留字段。 |
| SpinLock |
提供相互排除锁基元,其中尝试获取锁的线程会在循环中反复检查,直到锁可用为止。 |
| SpinWait |
提供对基于旋转的等待的支持。 |
枚举
| 名称 | 说明 |
|---|---|
| ApartmentState |
指定 Thread的公寓状态。 |
| EventResetMode |
指示在收到信号后,EventWaitHandle 是自动重置还是手动重置。 |
| LazyThreadSafetyMode |
指定 Lazy<T> 实例如何在多个线程之间同步访问。 |
| LockRecursionPolicy |
指定同一线程是否可以多次输入锁。 |
| ThreadPriority |
指定 Thread的计划优先级。 |
| ThreadState |
指定 Thread的执行状态。 |
委托
| 名称 | 说明 |
|---|---|
| ContextCallback |
表示在新上下文中调用的方法。 |
| IOCompletionCallback |
当 I/O 操作在线程池上完成时,接收错误代码、字节数和重叠值类型。 |
| ParameterizedThreadStart |
表示对 . Thread. 执行的方法。 |
| SendOrPostCallback |
表示将消息调度到同步上下文时要调用的方法。 |
| ThreadExceptionEventHandler |
表示将处理 ThreadException 事件 Application的方法。 |
| ThreadStart |
表示对 . Thread. 执行的方法。 |
| TimerCallback |
表示处理来自 |
| WaitCallback |
表示要由线程池线程执行的回调方法。 |
| WaitOrTimerCallback |
表示在发出信号或超时时 WaitHandle 要调用的方法。 |