Task声明一个异步方法实例的关键字,其中返回值有Task,以及Task<数据类型>,而async只是一个提示功能,提示此方法内有异步调用,真正实现的是await。
Task.Run本身就是一个异步调用,而加不加await等待调用关键字的区别是什么呢?
如果加了await,相当于是等待,就相当于是一个同步方法,由上而下执行,加了await就可以跳过await声明的方法,继续执行await后面的代码,比如登录发邮件,在账号密码验证成功之后,要发送邮件,如果邮件服务器宕机了,总不能把登录功能都全部卡掉直接报错吧,这里就体现了异步的好处了,把发送邮件放进异步方法里,登录归登录,发送邮件归发送邮件。