System.Threading 命名空间

提供启用多线程编程的类和接口。 除了用于同步线程活动和访问数据的类(、、、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 OVERLAPPED 结构的托管表示形式,包括将信息从 Overlapped 实例传输到 NativeOverlapped 结构的方法。

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

表示处理来自 /a0> 的调用的方法。

WaitCallback

表示要由线程池线程执行的回调方法。

WaitOrTimerCallback

表示在发出信号或超时时 WaitHandle 要调用的方法。