タスク。

Patricia Arquette
リリース: 2025-01-25 13:46:14
オリジナル
857 人が閲覧しました

How Can Task.WhenAll Simplify Concurrent Asynchronous Task Execution in C#?

C# の Task.WhenAll を使用した同時非同期操作の効率化

C# コンソール アプリケーションでは、同時に実行する必要があり、すべてのタスクが完了するまで待ってから続行する必要がある複数の非同期タスクの管理は、タスク並列ライブラリ (TPL) の Task.WhenAll メソッドを使用して効率的に処理できます。 このメソッドにより、メインスレッドがすべてのタスクが完了するまで待機しながら、タスクを並列実行できます。

シンプルで簡潔な例を次に示します:

<code class="language-csharp">var task1 = DoWorkAsync();
var task2 = DoMoreWorkAsync();

await Task.WhenAll(task1, task2);</code>
ログイン後にコピー

ブロッキング Task.WaitAll とは異なり、Task.WhenAll は非同期で動作し、タスクの完了を待つ間、呼び出し元に制御を返します。 また、より高度な例外処理も提供します。

  • 失敗したタスク: いずれかのタスクが失敗した場合は、複合例外が返されます。
  • キャンセルされたタスク: いずれかのタスクがキャンセルされた場合、返されたタスクはキャンセル済みとしてマークされます。
  • 成功したタスク: すべてのタスクがキャンセルされずに正常に完了した場合、返されたタスクは RanToCompletion 状態になります。

Task.WhenAll は、非同期操作を同時に実行するプロセスを簡素化し、堅牢な例外管理を提供し、すべてのタスクが終了した後にのみ後続のコードが実行されるようにします。

以上がタスク。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート