小编mdl*_*ars的帖子

当我"等待"一个"异步"方法时它会变成同步吗?

所以这是场景:

static async void Main(string[] args) 
{
    await AnAsyncMethod();
}

private static async task<bool> AnAsyncMethod()
{
    var x = await someAsyncMethod();
    var y = await someOtherAsyncMethod();

    return x == y;
}
Run Code Online (Sandbox Code Playgroud)

"someAsyncMethod"和"someOtherAsyncMethod"是否同步运行,因为我们正在使用await,或者它们是否按照执行顺序异步运行?

UPDATE

鉴于以下答案说明等待的异步方法将按顺序运行,如果我们只是停止执行并等待那些方法的返回值,那么首先使这些方法调用异步的目的是什么?我曾经看过过去的原生应用程序使用await/async作为释放UI线程的方法,但是有没有其他原因可以解释为什么这个设计是可取的呢?

c# asynchronous async-await

22
推荐指数
1
解决办法
4039
查看次数

标签 统计

async-await ×1

asynchronous ×1

c# ×1