相关疑难解决方法(0)

968
推荐指数
27
解决办法
19万
查看次数

C# async/await 如果仍然等待前面的执行完成,有什么好处呢?

我尝试阅读 stackoverflow 中有关 的实际使用的许多文章和问题async/await,因此基本上是异步方法调用,但不知何故我仍然无法解码它如何提供并行性和非阻塞行为。我参考了一些这样的帖子

几乎所有地方都可以使用 async/await 吗?

https://news.ycombinator.com/item?id=19010989

使用 async 和await 关键字的好处

所以如果我写一段这样的代码

var user = await GetUserFromDBAsync();
var destination = await GetDestinationFromDBAsync();
var address = await GetAddressFromDBAsync();
Run Code Online (Sandbox Code Playgroud)

尽管这三个方法都是异步的,但代码仍然不会转到第二行从数据库获取,直到完全从数据库destination获取。user

那么这里的并行性和非阻塞行为在哪里呢asyn/await?在执行下一行之前,它仍然等待完成第一个操作。

或者我对异步的总体理解是错误的?

编辑

任何例子都会很有帮助!

c# asynchronous async-await

8
推荐指数
1
解决办法
730
查看次数