Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是F#和#x27;s异步状态机与C#';s异步或go lang';s go命令?_C#_F#_Go_Async Await - Fatal编程技术网

是F#和#x27;s异步状态机与C#';s异步或go lang';s go命令?

是F#和#x27;s异步状态机与C#';s异步或go lang';s go命令?,c#,f#,go,async-await,C#,F#,Go,Async Await,我们看到了。我正试着去想一想 我的问题是-这与C#中的async命令的作用相同吗?(和go lang中的go命令)不完全一样,但是C#还使用状态机在编译时构建异步版本的方法 请参阅Mads Torgersen关于如何在编译器中为C#的异步令牌重写方法的精彩文章 在golang中,goroutines在概念上与.Net TPL比异步令牌更相似。如果一个goroutine变为阻塞,它将被替换为线程上的另一个goroutine,因此您将使用更多的线程池构造。Go在引擎盖下为您处理非阻塞I/O

我们看到了。我正试着去想一想


我的问题是-这与C#中的async命令的作用相同吗?(和go lang中的go命令)

不完全一样,但是C#还使用状态机在编译时构建异步版本的方法

请参阅Mads Torgersen关于如何在编译器中为C#的异步令牌重写方法的精彩文章

在golang中,goroutines在概念上与.Net TPL比异步令牌更相似。如果一个goroutine变为阻塞,它将被替换为线程上的另一个goroutine,因此您将使用更多的线程池构造。Go在引擎盖下为您处理非阻塞I/O