我理解异步/等待的概念。我有一个关于如何在动作上下文中使用的问题:
public async Task<ActionResult> Login()
{
}
动作实际何时返回?
如果执行到达动作函数的末尾时异步逻辑没有返回,线程是否会被释放并继续等待异步结果?
在它得到等待的东西之前,它不会返回任何东西,对吧?
“唯一”的优点是线程被释放,直到所有的 await 调用返回?
您async
在方法中编写关键字以通知此方法的调用者它包含一些异步运行的任务。
如果执行到达动作函数的末尾时异步逻辑没有返回,线程是否会被释放并继续等待异步结果?
每当您使用 时async
,您都会await
为某些方法的调用添加一个关键字(例如文件 IO、数据库打开关闭、长时间运行的进程等)。所以它将等到该方法完成并且不会从中返回。
“唯一”的优点是线程被释放,直到所有的 await 调用返回?
是的。框架将能够在此线程上执行一些其他任务,同时等待某些操作完成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句