UWP,Win10,C ++ / CX
我想在C ++ / CX中同步使用WinRT异步函数,就像C#的await那样。在C ++ / CX中是否有替代C#的等待?
我已经阅读了这篇文章__await,但它不起作用,也许它适用于win8并且在win10中不受支持,或者我错了。
BTW,Concurency :: create_task(选项).get()满足我的需要,但是太长了,它无法在UI线程上工作(我不知道为什么,你能告诉我你是否知道?)谢谢:)
答案 0 :(得分:2)
编辑:从VS 2015 Update 2开始,VC ++支持co_await
用于生产用途(尽管它处于一个特殊标志下,因为它还没有标准化)。您可以在this MSDN video中看到更多信息。
请注意,C#中的await
不是同步通话;没有涉及阻止。它只是给出了顺序执行的错觉。
C ++显式阻止在UI线程上调用get
以避免挂起UI。
答案 1 :(得分:0)
我终于找到了使用等待的方式,但它有限。
在VS2015中使用await http://blogs.msdn.com/b/vcblog/archive/2014/11/12/resumable-functions-in-c.aspx
等待和收益是实验性的。如果要使用它们,请记住它们仅在x64上受支持,并设置一些编译器选项: