谁能详细说一下程序中使用 async await的好处吗?
最近看一些开源代码,发现通篇都是 async await,既然都要await了,那异步有什么好处呢?
比如上面这张图,假设每一步都需要10秒,最后这个最起码要20秒才能执行完毕,那既然这样子,为什么还要这么写,不直接使用同步呢?
站在用户等待时间角度来说,它的好处是什么?
站在服务器资源利用角度来说,它的好处又是什么?
因为看到很多很多c#开源代码上,写控制器代码或者是读写数据库的地方都是这种async,await这样子写,感觉如果没有好处,是没有这么多人这么写的。麻烦大家说一下,谢谢
回答
最大的好处是不阻塞线程,await之后的代码要等到结果之后才会继续下一步,但是这个时候,线程是空闲的,可以做别的事情,比如说再接收另一个请求。
异步就是为了提高线程利用率搞出来的。