我在MVC中遇到过很多关于async / await好处的问题。他们提到重要的是不要阻塞请求线程,这样工作者线程可以同时处理不同的请求。直到这里它还可以轻松理解。
请随意指点一些文章详细解释原因。
答案 0 :(得分:3)
但是我不明白普通线程和请求/工作线程之间的区别是什么?
这不是释放线程的重点。释放线程的关键是,处理该请求负载所需的线程少一个。这反过来意味着您的服务可以处理更高的负载(以及更快速地更改负载)。
使用async
/ await
可让您的网站进一步扩展(并且更快)。如果您的后端也是可扩展的(例如,云数据存储),那么使您的Web层可扩展可以使您的系统整体进一步扩展(并且更快)。
我在intro to async ASP.NET文章中对此进行了更多描述(以及图片!)。