如何在 F# 中同时等待取消令牌和 EventWaitHandle?
Posted
技术标签:
【中文标题】如何在 F# 中同时等待取消令牌和 EventWaitHandle?【英文标题】:how to wait on a cancellation token AND an EventWaitHandle at the same time, in F#? 【发布时间】:2021-04-14 16:50:44 【问题描述】:我想找到一种方法来结合这两行:
cancellationToken.WaitHandle.WaitOne() |> ignore
waitHandle.WaitOne() |> ignore
无论哪个先发生,都会让执行流程继续。这个可以吗?
【问题讨论】:
你对your previous question的解决方案有什么问题? 没有,这正是我想要的。当我面对这个问题时,我从不同的角度看待它,并没有意识到这是同一件事。我认为我们可以安全地结束这个问题。 【参考方案1】:我假设您可以将两个句柄放在一个数组中,然后等待它。比如:
[|
cancellationToken.WaitHandle
waitHandle
|] |> WaitHandle.WaitAny |> ignore
注意:我没有尝试编译或运行此代码。
【讨论】:
以上是关于如何在 F# 中同时等待取消令牌和 EventWaitHandle?的主要内容,如果未能解决你的问题,请参考以下文章
Polly Timeout 乐观使用 HttpClientFactory。如何使用取消令牌?