导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

SemaphoreSlim 类

2013/12/13

对可同时访问资源或资源池的线程数加以限制的 Semaphore 的轻量替代。

System.Object
  System.Threading.SemaphoreSlim

Namespace:  System.Threading
程序集:  mscorlib(位于 mscorlib.dll 中)

声明
Public Class SemaphoreSlim _
	Implements IDisposable

SemaphoreSlim 类型公开以下成员。

  名称说明
公共方法SemaphoreSlim(Int32)初始化 SemaphoreSlim 类的新实例,以指定可同时授予的请求的初始数量。
公共方法SemaphoreSlim(Int32, Int32)初始化 SemaphoreSlim 类的新实例,同时指定可同时授予的请求的初始数量和最大数量。
返回顶部

  名称说明
公共属性AvailableWaitHandle返回一个可用于在信号量上等待的 WaitHandle
公共属性CurrentCount获取将允许进入 SemaphoreSlim 的线程的数量。
返回顶部

  名称说明
公共方法Dispose释放由 SemaphoreSlim 类的当前实例使用的所有资源。
受保护的方法Dispose(Boolean)释放由 ManualResetEventSlim 占用的非托管资源,还可以另外再释放托管资源。
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法Release退出 SemaphoreSlim 一次。
公共方法Release(Int32)退出 SemaphoreSlim 指定次数。
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
公共方法Wait阻止当前线程,直至它可进入 SemaphoreSlim 为止。
公共方法Wait(CancellationToken)阻止当前线程,直至它可进入 SemaphoreSlim 为止,同时观察 CancellationToken
公共方法Wait(Int32)阻止当前线程,直至它可进入 SemaphoreSlim 为止,同时使用 32 位有符号整数来指定超时。
公共方法Wait(TimeSpan)阻止当前线程,直至它可进入 SemaphoreSlim 为止,同时使用 TimeSpan 来指定超时。
公共方法Wait(Int32, CancellationToken)阻止当前线程,直至它可进入 SemaphoreSlim 为止,并使用 32 位有符号整数来指定超时,同时观察 CancellationToken
公共方法Wait(TimeSpan, CancellationToken)阻止当前线程,直至它可进入 SemaphoreSlim 为止,并使用 TimeSpan 来指定超时,同时观察 CancellationToken
公共方法WaitAsync异步等待输入 SemaphoreSlim
公共方法WaitAsync(CancellationToken)异步等待输入 SemaphoreSlim,同时观察 CancellationToken
公共方法WaitAsync(Int32)异步等待输入 SemaphoreSlim,使用 32 位有符号的整数度量时间间隔。
公共方法WaitAsync(TimeSpan)异步等待输入 SemaphoreSlim,使用 TimeSpan 度量时间间隔。
公共方法WaitAsync(Int32, CancellationToken)异步等待输入 SemaphoreSlim,使用 32 位有符号的整数度量时间间隔,同时观察 CancellationToken
公共方法WaitAsync(TimeSpan, CancellationToken)异步等待输入 SemaphoreSlim,使用 TimeSpan 度量时间间隔,同时观察 CancellationToken
返回顶部

SemaphoreSlim 提供不使用 Windows 内核信号量的轻型信号量类。

下面的示例演示如何使用 SemaphoreSlim

Windows Phone OS

受以下版本支持: 8.0

SemaphoreSlim 的所有公共和受保护的成员是线程安全的,并且可以同时从多个线程使用,Dispose 除外,它只有当 SemaphoreSlim 上的所有其他操作都完成后才能使用。

显示:
© 2014 Microsoft