【发布时间】:2014-07-23 21:27:22
【问题描述】:
async-await 模式是 .NET 4.5 和 C# 5.0 中更强大的补充之一
据我所知,它目前仅在 C# 和 VB 中可用。
此 API 是 .NET CLR 还是 C# 编译器本身的功能?
我真正要问的是——我们是否应该期待其他 .NET 语言中的 async/await,例如:
- C++(通过 C++/CLI)
- Python(通过 IronPython)
- PHP(通过 Phalanger)
- JavaScript(通过 IronJS)
请注意,我问的不是一般的异步编程,而是异步等待模式的细节(同步编写的异步代码)。
【问题讨论】:
-
这是一个极其复杂的编译器特性,支持BCL API的数量很少。见msmvps.com/blogs/jon_skeet/archive/2011/05/08/…
-
仅供参考,F# 支持异步操作作为一种语言功能的时间比 C# 和 VB 更长,以一种可以说(或显然;)更强大的方式。见fsharpforfunandprofit.com/posts/concurrency-async-and-parallelmsdn.microsoft.com/en-us/library/dd233250.aspx
-
对于 JavaScript,请参阅 this blog article。
标签: c# .net clr async-await