【问题标题】:Benefits of async and await for Console Application控制台应用程序的异步和等待的好处
【发布时间】:2021-06-03 06:41:45
【问题描述】:

我知道对 .NET Web API 和 Web 应用程序使用 async 和 await 的好处。我想知道如果我在控制台应用程序中使用它会带来什么好处。

【问题讨论】:

  • 这取决于您在控制台应用程序中执行的操作。对于一个 hello world - 不,没有任何好处。
  • 您可以编写异步代码。
  • 老实说,不多。在网络应用中,这更有意义,因为我们必须用有限的线程数为更多用户提供服务。
  • 所以异步编程在等待很长时间返回结果时释放线程。在 web api 和 web 应用程序中,该线程可用于处理更多传入请求。但我不明白的是它将如何使我的控制台应用程序受益
  • 您的控制台应用程序是否有有用的工作可以在您等待长时间运行的 I/O 完成时完成?如果是这样,它可能会受益。如果没有,那么很可能没有。这与其他应用程序类型完全相同。然而,正如 fredrik 的第一条评论所暗示的,这完全取决于您的特定控制台应用程序的性质。不要以为可以获得普遍的好处。

标签: c# asp.net .net .net-core


【解决方案1】:

使用async/await,您编写的代码更少,并且您的代码将比使用以前的异步编程方法(例如使用普通任务)更易于维护。 async/await 是 BackgroundWorker 的新替代品,已用于 WinForms 应用程序。

【讨论】:

    猜你喜欢
    • 2019-07-20
    • 1970-01-01
    • 2019-07-22
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多