【发布时间】:2015-06-17 18:41:20
【问题描述】:
在 F# 上的 wikibook 中有一小部分内容:
什么让!怎么办?#
let!在自己的线程上运行async<'a>对象,然后它立即 将当前线程释放回线程池。当let!返回时, 工作流的执行将在新线程上继续,这可能 或者可能不是工作流开始的同一个线程。
我在书籍或网络上没有找到任何其他地方表明这一事实(以粗体突出显示)。
无论异步对象包含什么(例如Thread.Sleep())以及它是如何启动的(例如Async.Start),这对所有let!/do!是否都是如此?
查看github 上的F# 源代码,我找不到在新(TP) 线程上执行绑定调用的位置。魔法发生在代码的什么地方?
【问题讨论】:
标签: f#