【发布时间】:2011-07-22 22:45:33
【问题描述】:
在Async.SwitchToNewThread 的 MS 文档中,给出的示例之一是:
let asyncMethod f =
async {
do! Async.SwitchToNewThread()
let result = f()
do! Async.SwitchToThreadPool()
return result
}
在 return 语句之前立即切换到线程池的目的是什么?我理解为什么当异步块有更多工作要做时,您可能希望从专用线程切换到线程池,但这里不是这种情况。
这不是主要问题的一部分,但我也很想知道为什么 SwitchToNewThread 和 SwitchToThreadPool 返回异步。有没有你不想立即“做!”的用例?这些任务?谢谢
【问题讨论】:
标签: multithreading concurrency asynchronous f#