TplExtensions.ToTask(WaitHandle, Int32, CancellationToken) 方法

定义

创建一个 TPL 任务,该任务在收到信号时返回 trueWaitHandle 如果首先出现超时,则返回 false

public static System.Threading.Tasks.Task<bool> ToTask (this System.Threading.WaitHandle handle, int timeout = -1, System.Threading.CancellationToken cancellationToken = default);
static member ToTask : System.Threading.WaitHandle * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
<Extension()>
Public Function ToTask (handle As WaitHandle, Optional timeout As Integer = -1, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

参数

handle
WaitHandle

其信号触发任务完成的句柄。 请勿在此处使用 Mutex

timeout
Int32

超时 (以毫秒为单位) ,在此时间之后,如果句柄未收到信号,则任务将返回 false

cancellationToken
CancellationToken

一个标记,其取消将导致返回的任务立即在 "已取消" 状态中完成。

返回

Task<Boolean>

当句柄发出信号或超时,或者当调用方的取消标记被取消时完成的任务。 如果任务由于句柄已终止而完成,则任务的结果为 true。 如果任务由于句柄未在超时前发出信号而完成,则任务的结果为 false

注解

返回的任务的完成对于实际通知等待句柄的代码是异步的。

适用于