我们在此处看到a paper by Don Syme on Async state machines in F#。我试图绕过它。
我的问题是 - 这是否与C#中的async命令相同? (和go-lang的go命令)
答案 0 :(得分:0)
它不完全相同,不,但C#也使用状态机在编译时构建异步版本的方法。
请参阅http://msdn.microsoft.com/en-us/magazine/hh456403.aspx,了解Mads Torgersen关于如何在编译器中为C#的异步令牌重写方法的精彩文章。
在golang中,从概念上讲,goroutines与.Net TPL比async令牌更相似。如果goroutine变为阻塞,则会在线程上换掉另一个goroutine,因此您将使用更多的线程池构造。 Go将为您处理非阻塞I / O.