ホームページ >バックエンド開発 >C++ >.NET 4.5 で同時非同期タスクを効率的に実行して結果を取得するにはどうすればよいですか?

.NET 4.5 で同時非同期タスクを効率的に実行して結果を取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-13 06:45:47355ブラウズ

How Can I Efficiently Run and Retrieve Results from Concurrent Asynchronous Tasks in .NET 4.5?

.NET 4.5 での同時非同期タスクの実行と結果取得の最適化

.NET 4.5 は、タスクの並列実行と効率的な結果収集のための強力なツールを提供し、アプリケーションのパフォーマンスを大幅に向上させます。 ただし、単純な方法ではフレームワークの機能を十分に活用できない可能性があります。

洗練されたアプローチを以下に示します。

<code class="language-csharp">async Task<int> LongRunningTask1() {
  // ... your asynchronous code ...
  return 0;
}

async Task<int> LongRunningTask2() {
  // ... your asynchronous code ...
  return 1;
}

// ... your calling code ...
{
  Task<int> task1 = LongRunningTask1();
  Task<int> task2 = LongRunningTask2();
  await Task.WhenAll(task1, task2);
  // Access results via task1.Result and task2.Result
}</code>

この例では、時間のかかる操作を表す非同期メソッド LongRunningTask1LongRunningTask2 を使用します。 Task.WhenAll(task1, task2) は両方のタスクが完了するまで非同期的に待機します。これにより、Task.Run() の必要性がなくなり、.Result を使用して結果に簡単にアクセスできる方法が提供されます。

これは、効率的でスケーラブルな並列タスク処理の作成を可能にする、C# 4.5 の非同期プログラミング モデルの利点を示しています。

以上が.NET 4.5 で同時非同期タスクを効率的に実行して結果を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。