1

または、メソッド内で Task.Run を使用して、各関数が独自のスレッドに存在することを確認する必要がありますか? 私が取り組んでいるコードに見られるこの実践に知恵があるかどうかを確認しようとしています。

public async Task<string> GetAStringAfterSyncProcessing(string processThis) {
       return await Task.Run(async () => { 
              var processThis2 = processThis + ",";
              var processThis3 = processThis2 + ",";
              var nowImDone = processThis3 + ",";
              return nowImDone;
       });
}

デバッグ中に各行をたどることができなくなるため、これは意図しない設計であると感じています。そのため、await または .GetAwaiter().GetResult() が使用されたときにのみ関数が呼び出されるように、非同期は新しいスレッドの作成を自動的に意味することを他の人に説明するのが正しいかどうか疑問に思っています。ありがとう

4

1 に答える 1