私はasync/awaitを学習しており、ConfigureAwaitをasync/awaitで使用することについてブログで触れました。ConfigureAwaitをfalseで使用することについての現実的な説明C#
ConfigureAwaitはブール型のcontinueOnCapturedContextパラメータを受け入れます:trueはデフォルトの動作を使用することを意味し、falseを渡すと、デリゲートの呼び出しを元のコンテキストに強制的にマーシャリングする必要はなくなります。代わりに、システムが適していると見なすデリゲートを実行します。
詳細はあまり詳しく説明されていませんが、誰でも実際の使用例を説明できます。私はさらに検索し、HTTPコールなどで使用する必要があることを知っていましたが、なぜそれを使用すべきかについて具体的な答えが得られませんでした。
参考リンク:https://blogs.msdn.microsoft.com/windowsappdev/2012/04/24/diving-deep-with-winrt-and-await/
答えのThnx。しかし、非同期のときにコードが別のスレッドで実行されていませんか?どうして我々はConfigureAwaitの世話をしなければならないのですか? – Dishant
コードが実行されていないので、asyncはIO操作(ネットワーク、ディスクなど)を待っている間は効果的に何もしないことで機能します。その後、制御はasyncの直後の行に戻され、THATはあるスレッドで発生するはずです。 ConfigureAwaitでは、どちらを選択するかを選択できます。 – zaitsman
@Dishantいいえ、Stephen Toub氏は[こちら](https://blogs.msdn.microsoft.com/pfxteam/2011/01/13/await-anything/)または他の場所で** async ** in and ofを指摘していますそれ自体はスレッドとは関係ありません。設計のパラダイムとして、並行性を促進することができますが、デフォルトではそうしません。基本的には、asyncは、もしそうでなければいつでもブロックするのではなく、他の保留中の作業を行うために回り込んで、* single *スレッドが常に進歩を遂げることを確実にする方法と考えることができます。 –