c# – asyncawait和return Task是一样的吗?

c# – asyncawait和return Task是一样的吗?,第1张

概述参见英文答案 > Any difference between “await Task.Run(); return;” and “return Task.Run()”?                                    4个 有两种方法 public async Task T1(){ await Task.Run(() => /*do something here*/ 参见英文答案 > Any difference between “await Task.Run(); return;” and “return Task.Run()”?                                    4个
有两种方法

public async Task T1(){    await Task.Run(() => /*do something here*/);}public Task T2(){    return Task.Run(() => /*do something here*/);}

它们之间有什么区别吗?

解决方法 我相信第一个变体将等待任务完成(不是通过阻塞线程,而是通过签署其余的方法,在任务完成时执行,在Continuation Passing Style中).第二种选择不会.你已经启动并返回了一个任务,但你的调用线程将继续执行,除非它调用.Wait()或其他东西.

async / await东西只是使用Task和continuation传递样式重写方法的语法糖,虽然结果通常很复杂,你不会手动完成.

总结

以上是内存溢出为你收集整理的c# – async / await和return Task是一样的吗?全部内容,希望文章能够帮你解决c# – async / await和return Task是一样的吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1226712.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存