首页 > 编程语言 > 详细

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

时间:2019-01-18 00:41:23      阅读:235      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!