TplExtensions.ToTask(WaitHandle, Int32, CancellationToken) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个 TPL 任务,该任务在发出信号时WaitHandle返回true
;如果首先发生超时,则返回 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
一个令牌,其取消将导致返回的任务立即以已取消状态完成。
返回
在发出句柄信号或超时或取消调用方取消令牌时完成的任务。
如果任务由于发出句柄信号而完成,则任务的结果为 true
。
如果任务由于在超时之前未发出句柄信号而完成,则任务的结果为 false
。
注解
相对于实际向等待句柄发出信号的代码,返回的任务的完成是异步的。