MVC 4 中异步任务背后的机制是什么?它与普通线程有什么关系?请提供详细信息。
问问题
718 次
4 回答
2
如果您对关键字感兴趣async
,您可能会发现第 9 频道对 Anders Hejlsberg 的采访很有趣。await
另外,请看一下:这个 PDC 视频。
于 2011-10-01T11:18:58.250 回答
1
通常,单个 ASP.NET 页面请求由单个线程处理。线程发送响应后,返回到 ASP.NET 线程池。
当您使用async
/ await
(或异步页面)时,处理请求的线程会将请求标记为不完整,然后返回到 ASP.NET 线程池。当 awaitable 稍后完成时,会分配一个 ASP.NET 线程来运行该方法的其余部分。
更具体地说,async
/await
默认使用SynchronizationContext
. 有关详细信息,请参阅我的 MSDN 文章。
于 2011-10-02T02:50:30.993 回答
1
如前所述,async
关键字是.Net 的一部分。为了更好地实现异步编程,微软为此发布了几个 CTP,它将在 .Net 4.5 AFAIK 上开箱即用。
下面的文章也很有帮助:
http://www.juliencorioland.net/Archives/en-aspnet-mvc-4-asynchronous-controllers
于 2011-10-01T10:43:33.683 回答
0
异步任务是 .NET 的一项功能,而不是 ASP.NET MVC 4 的一项功能。它们在 ASP.NET 中的工作方式与在 .NET 中的其他地方相同。
于 2011-10-01T05:24:09.203 回答