Dotnet Core Asyn coding

时间:2020-08-25 15:41:06   收藏:0   阅读:61
异步代码

ASP.NET Core和EF Core的默认使用异步编程。

Web 服务器的可用线程数量有限,在高负载情况下,所有可用线程都可能都在使用。 当发生这种情况时,服务器无法处理新的请求,直到线程被释放。 使用同步代码时,许多线程可能会被绑定,而实际上它们并没有做任何工作,因为它们正在等待 I/O 完成。 使用异步代码,当进程正在等待I/O 完成时,其线程将被释放,供服务器用于处理其他请求。 因此,异步代码可以更有效地使用服务器资源,并且使服务器能够无延迟地处理更多流量。

异步代码在运行时引入了少量的开销,但是对于低流量情况,性能下降可以忽略不计,而对于高流量情况,潜在的性能提升是巨大的。 在以下代码中,async 关键字, Task 返回值,await 关键字和 ToListAsync 方法共同构成异步执行代码。

public async Task<IActionResult> Index()
{
    return View(await _context.Students.ToListAsync());
}

当您编写使用实体框架的异步代码时,需要注意的一些事情:

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!