【发布时间】:2015-08-24 15:20:46
【问题描述】:
我一直试图了解何时最好使用异步控制器而不是在单独的线程中处理任务。
根据研究,我认为当有多个任务要完成时,在某些时候涉及资源上的单点条目时,最好使用异步。因此,asp.net MVC 的好处是返回池线程,以便 UI 可以处理其他 UI 事件,而其他一些线程在将其信息克隆回池线程之前继续其处理。
现在让我们说这个任务是从服务器下载一个文件。创建我自己的线程来产生和处理这个操作效率会降低吗?
使用多线程我可以处理数据并发,如何使用异步控制器完成?
在 ASP.NET MVC 中有哪些示例我应该使用异步控制器而不是我自己的线程?
我是 ASP.NET MVC 的新手,并试图更好地理解这个概念,因为我在互联网上进行了详尽的搜索,但无法明确区分两者(对于 ASP.NET MVC)。
【问题讨论】:
-
服务器上的异步 IO 主要是为了减少线程数,因为每个线程消耗 1MB 内存和一些操作系统资源。这真的是故事的 99%(在服务器上!)。
标签: c# multithreading asp.net-mvc-4 asynchronous