"await" を使用してタスクを UI スレッドからオフロードすることが優れていることは明らかです。その後、UI スレッドは Windows メッセージの処理に戻ることができます。
しかし、待っていた Task を Task.Run で開始するとします。これにより、ThreadPool からスレッドでコードが起動されます。そのコードで「待機」を行う価値はありますか (技術的にはそれを行うことさえできますか?)。
「いいえ」と言いたくなる。ThreadPool スレッドから作業をオフロードする必要があるのはなぜですか? 割り当てられた元のタスクを処理する以外に、他に何をしなければならないのでしょうか?
ここで、誰かが返信して、await を実行すると、ThreadPool スレッドが実際にプールに「解放」され、別の場所で使用される可能性があると言ったら、私は本当に感銘を受けます。
マイケル