首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据仓库中还有非异步方法的位置吗?

数据仓库中还有非异步方法的位置吗?
EN

Software Engineering用户
提问于 2019-12-02 19:59:32
回答 2查看 619关注 0票数 1

如果我们今天启动一个.NET Core 3.0项目,该项目将使用数据库连接(例如,ASP.NET Core Web API),那么在与数据库对话时,是否还有非异步操作的位置?

或者换句话说:在直接查询数据库时,我们应该始终(默认情况下)在directly方法中使用异步/等待吗?我在说,用ToListAsyncFirstOrDefaultAsync

在与数据库交谈时,我很难看到不使用异步操作的优点。

EN

回答 2

Software Engineering用户

发布于 2020-01-02 00:58:29

异步的目的是允许线程在等待较慢的服务/设备响应时执行其他工作。

那么,您的线程是否需要执行其他工作?

  • 如果是的话,异步/等待是释放线程的一种方式。
  • 如果不是,那么使用异步/等待只会使您的系统变得更加复杂,而不会带来任何真正的好处。
票数 1
EN

Software Engineering用户

发布于 2019-12-02 20:42:32

如果您希望通过有限数量的线程进行快速访问,那么查询数据库的速度就更快,而不是异步。但是它会很快消耗线程,所以它只应该在需要额外的性能时使用,并且当您知道这个方法只会被一两个线程使用时。

就像后台工作人员或类似的一样,如果从web api方法中使用none异步方法,那么当许多客户端组合和使用该web api方法时,线程池上的线程将耗尽。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/401955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档