【问题标题】:Correct usage for Nito.AsyncEx.AsyncContext.RunNito.AsyncEx.AsyncContext.Run 的正确用法
【发布时间】:2021-10-26 09:48:13
【问题描述】:

我正在使用来自 Steven 的名为 AsyncEx 的优秀库来帮助我逐步将旧代码库过渡到异步世界。

文档说..

class Program
{
  static async Task<int> AsyncMain()
  {
    ..
  }

  static int Main(string[] args)
  {
    return AsyncContext.Run(AsyncMain);
  }
}

当调用具有不同签名的方法时,我应该这样做..

var blah = AsyncContext.Run(() => MyMethodAsync(myvar));

或者在调用中指定异步/等待?

var blah = AsyncContext.Run( async () => await MyMethodAsync(myvar));

或者,没关系吗?

【问题讨论】:

    标签: nito.asyncex


    【解决方案1】:

    我现在认为这与Return Task or Await Questions 相同,因此Rene's 的答案将是正确的

    这里总结得不好——编译器的 await 开销有点多,但在运行时基本相同。

    【讨论】:

    猜你喜欢
    • 2011-02-10
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 2012-03-08
    • 2011-07-25
    相关资源
    最近更新 更多