TplExtensions.ToTask(WaitHandle, Int32, CancellationToken) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个 TPL 任务,该任务在收到信号时返回 true , WaitHandle 如果首先出现超时,则返回 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。
注解
返回的任务的完成对于实际通知等待句柄的代码是异步的。