STATHREAD 作为 F# 中的异步工作流程
考虑以下代码片段:
let t1 = async { return process1() } let t2 = async { return process2() } let t3 = async { return windowsProcess() } let execute = [ t1; t2; t3 ] |> Async.Parallel |> Async.RunSynchronously |> ignore
如果 windowsProcess 需要 STATHREAD,该怎么办? 这种结构可能吗?
Consider the following code fragment:
let t1 = async { return process1() } let t2 = async { return process2() } let t3 = async { return windowsProcess() } let execute = [ t1; t2; t3 ] |> Async.Parallel |> Async.RunSynchronously |> ignore
What to do in the case the windowsProcess requires a STATHREAD? Is this possible with this construction?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果有一个具有 SyncrhonizationContext 的特定线程(例如 UI 线程),那么您可以执行例如
但通常并行任务将在线程池中启动。
If there's a particular thread with a SyncrhonizationContext, e.g. the UI thread, then you could do e.g.
but in general parallel tasks will start in the threadpool.