SemaphoreSlim.WaitAsync 方法

定义

异步等待输入 SemaphoreSlim

重载

名称 说明
WaitAsync(Int32, CancellationToken)

异步等待输入 SemaphoreSlim,使用 32 位带符号整数测量时间间隔,同时观察一个 CancellationToken

WaitAsync()

异步等待输入 SemaphoreSlim

WaitAsync(Int32)

异步等待输入 SemaphoreSlim,使用 32 位有符号整数测量时间间隔。

WaitAsync(CancellationToken)

异步等待输入 SemaphoreSlim,同时观察 a CancellationToken.

WaitAsync(TimeSpan)

异步等待输入 SemaphoreSlim,使用度量 TimeSpan 时间间隔。

WaitAsync(TimeSpan, CancellationToken)

异步等待输入 SemaphoreSlim,使用 a TimeSpan 测量时间间隔,同时观察一个 CancellationToken

WaitAsync(Int32, CancellationToken)

异步等待输入 SemaphoreSlim,使用 32 位带符号整数测量时间间隔,同时观察一个 CancellationToken

public:
 System::Threading::Tasks::Task<bool> ^ WaitAsync(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<bool> WaitAsync(int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Task(Of Boolean)

参数

millisecondsTimeout
Int32

等待的毫秒数( Infinite-1)无限期等待,或零以测试等待句柄的状态并立即返回。

cancellationToken
CancellationToken

CancellationToken 观察的。

返回

如果当前线程成功输入SemaphoreSlim了该任务,则以结果true完成的任务,否则返回结果false

例外

millisecondsTimeout 是一个非 -1 的数字,表示无限超时。

-或-

millisecondsTimeout 大于 Int32.MaxValue

当前实例已释放。

cancellationToken 已取消。

注解

如果超时设置为 -1 毫秒,该方法将无限期等待。

如果超时设置为零毫秒,则该方法不会阻止。 它会测试等待句柄的状态并立即返回。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Wait(Int32)..

适用于

WaitAsync()

异步等待输入 SemaphoreSlim

public:
 System::Threading::Tasks::Task ^ WaitAsync();
public System.Threading.Tasks.Task WaitAsync();
member this.WaitAsync : unit -> System.Threading.Tasks.Task
Public Function WaitAsync () As Task

返回

输入信号灯后将完成的任务。

例外

注解

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Wait()..

适用于

WaitAsync(Int32)

异步等待输入 SemaphoreSlim,使用 32 位有符号整数测量时间间隔。

public:
 System::Threading::Tasks::Task<bool> ^ WaitAsync(int millisecondsTimeout);
public System.Threading.Tasks.Task<bool> WaitAsync(int millisecondsTimeout);
member this.WaitAsync : int -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (millisecondsTimeout As Integer) As Task(Of Boolean)

参数

millisecondsTimeout
Int32

等待的毫秒数( Infinite-1)无限期等待,或零以测试等待句柄的状态并立即返回。

返回

如果当前线程成功输入SemaphoreSlim了该任务,则以结果true完成的任务,否则返回结果false

例外

当前实例已释放。

millisecondsTimeout 是非 -1 的负数,表示无限超时。

-或-

millisecondsTimeout 大于 Int32.MaxValue

注解

如果超时设置为 -1 毫秒,该方法将无限期等待。

如果超时设置为零毫秒,则该方法不会阻止。 它会测试等待句柄的状态并立即返回。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Wait(Int32)..

适用于

WaitAsync(CancellationToken)

异步等待输入 SemaphoreSlim,同时观察 a CancellationToken.

public:
 System::Threading::Tasks::Task ^ WaitAsync(System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task WaitAsync(System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function WaitAsync (cancellationToken As CancellationToken) As Task

参数

cancellationToken
CancellationToken

要观察的 CancellationToken 令牌。

返回

输入信号灯后将完成的任务。

例外

当前实例已释放。

cancellationToken 已取消。

注解

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Wait()..

适用于

WaitAsync(TimeSpan)

异步等待输入 SemaphoreSlim,使用度量 TimeSpan 时间间隔。

public:
 System::Threading::Tasks::Task<bool> ^ WaitAsync(TimeSpan timeout);
public System.Threading.Tasks.Task<bool> WaitAsync(TimeSpan timeout);
member this.WaitAsync : TimeSpan -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (timeout As TimeSpan) As Task(Of Boolean)

参数

timeout
TimeSpan

一个 TimeSpan 表示等待的毫秒数、表示 TimeSpan 要无限期等待的 -1 毫秒,或者 TimeSpan 表示 0 毫秒来测试等待句柄并立即返回。

返回

如果当前线程成功输入SemaphoreSlim了该任务,则以结果true完成的任务,否则返回结果false

例外

当前实例已释放。

timeout 是非 -1 的负数,表示无限超时。

-或-

在 .NET 9 和更早版本中, timeout 大于 Int32.MaxValue

注解

如果超时设置为 -1 毫秒,该方法将无限期等待。

如果超时设置为零毫秒,则该方法不会阻止。 它会测试等待句柄的状态并立即返回。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Wait(TimeSpan)..

适用于

WaitAsync(TimeSpan, CancellationToken)

异步等待输入 SemaphoreSlim,使用 a TimeSpan 测量时间间隔,同时观察一个 CancellationToken

public:
 System::Threading::Tasks::Task<bool> ^ WaitAsync(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<bool> WaitAsync(TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of Boolean)

参数

timeout
TimeSpan

一个 TimeSpan 表示等待的毫秒数、表示 TimeSpan 要无限期等待的 -1 毫秒,或者 TimeSpan 表示 0 毫秒来测试等待句柄并立即返回。

cancellationToken
CancellationToken

要观察的 CancellationToken 令牌。

返回

如果当前线程成功输入SemaphoreSlim了该任务,则以结果true完成的任务,否则返回结果false

例外

timeout 是非 -1 的负数,表示无限超时。

-或-

在 .NET 9 和更早版本中, timeout 大于 Int32.MaxValue

cancellationToken 已取消。

注解

如果超时设置为 -1 毫秒,该方法将无限期等待。

如果超时设置为零毫秒,则该方法不会阻止。 它会测试等待句柄的状态并立即返回。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Wait(TimeSpan)..

适用于