为什么在某种场景下要使用await

问题描述 投票:0回答:1

如果我有一个 GET 请求,只是从数据库返回一些内容,我应该这样做吗:

return _dbContext.MyTable.Where(...).ToList();

或:

return await _dbContext.MyTable.Where(...).ToListAsync();

这两个不是一样的吗?当我有一个方法的异步版本时,我就是这样想的:如果我需要同时做其他事情,我应该使用异步版本。如果没有,请选择同步选项。如果我错了请纠正我。

c# multithreading asynchronous
1个回答
0
投票

ToList() 是一个同步操作。这意味着代码将阻塞直到操作完成。ToListAsync() 是一个异步操作。它允许您的代码在等待数据库操作完成的同时继续执行其他任务。 如果您的方法被声明为异步,那么最好使用 ToListAsync()。使用await允许在数据库操作期间释放调用线程,从而实现更好的资源利用。 希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.