码迷,mamicode.com
首页 > 编程语言 > 详细

C++ std::async vs async/await in C# - Stack Overflow

时间:2019-01-18 00:57:49      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:c++   复杂   支持   文档   完全   编辑   协同程序   实现   nas   

C++ std::async vs async/await in C# - Stack Overflow

 

我想知道新的c ++功能std::async是否与两个C#关键字async / await相当,如果不是为什么?

 

不是,假设我正在正确阅读这个std :: async文档

C#5的异步/等待功能涉及异步方法的复杂编译器转换,因此您可以编写看起来非常同步但具有异步点的代码。编译器为您构建状态机,创建适当的回调等。

编辑:虽然我以前认为std::async只是强迫你明确地传递一个回调,但它看起来更像是原始的。无论哪种方式,我相信它主要/完全是一个特性,而C#5的异步方法主要是具有库支持语言特性。

std::async没有延续或完成回调。所有你能做的就是在等待它完成时阻止。与TPL相比,这是非常原始的 -  Cory Nelson 2011年7月17日2:41

 

但是在C ++中,您可以使用协同程序实现等效的C#5作为功能。证明:CppAwait -  Valentin Milea 12年1月12日21:32

遵循概念证明,可以在Stackful Coroutines的帮助下模拟精确await特征语法await_emu -  Evgeny Panasyuk 2013年 7月3日14:0

 

C++ std::async vs async/await in C# - Stack Overflow

标签:c++   复杂   支持   文档   完全   编辑   协同程序   实现   nas   

原文地址:https://www.cnblogs.com/cutepig/p/10285412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!