ひどいタイトルを残して申し訳ありません、私は正しい仮定をしていることを確認したかっただけです。非同期メソッドで非同期呼び出しスタック
は私が単純化されている3つの方法があるだろう:上記
public async Task Method1()
{
var obj = await Method2();
//do work on obj
}
public Task<object> Method2()
{
//do some work
return Method3();
}
public async Task<object> Method3()
{
//do async work
return obj;
}
Method2
を内部的に何の非同期作業を行いませんが、私の非同期スタックです。それは次のように書き換えることができます
public async Task<object> Method2()
{
//do some work
return await Method3();
}
は、非非同期メソッドとしてそれを残すために優れていることを、私はMethod2
として実際に非同期の仕事をしない、正しいですか?私の考えは、スレッドのリソースを必要としないときに保持する余分なステートマシンを作成するオーバーヘッドを節約していることです。