我遇到过很多关于 MVC 中 async/await 的好处的问题。他们提到不阻塞请求线程很重要,这样工作线程可以同时处理不同的请求。到这里为止,一切都很好,而且很容易理解。
- 但是我不明白正常和正常之间有什么区别 请求/工作线程?两者之间有这么大的区别吗? 两个这样释放工作线程和创建普通线程就是这样 有益?
- 与常规相比,为什么请求线程的数量有限 线程?
- 请求线程是否占用更多内存?
请随时向我指出一些文章,以更详细地解释原因。
最佳答案
However I dont understand what is the difference between a normal and a request/worker thread?
这不是释放线程的重点。释放线程的意义在于处理该请求负载所需的线程减少了一个。这反过来意味着您的服务可以处理更高的负载(以及变化更快的负载)。
使用 async
/await
可以让您的网站进一步(更快)扩展。如果您的后端也是可扩展的(例如,云数据存储),那么使您的 Web 层可扩展可以让您的系统作为一个整体进一步(更快)扩展。
我在我的 intro to async ASP.NET 中对此进行了更多描述(并附有图片!)文章。
关于c# - MVC 中的异步/等待 - 为什么在长时间运行的操作期间释放线程很重要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40743529/