首頁 >後端開發 >C++ >如何在 .NET 4.5 中高效運行並發非同步任務並檢索結果?

如何在 .NET 4.5 中高效運行並發非同步任務並檢索結果?

Patricia Arquette
Patricia Arquette原創
2025-01-13 06:45:47397瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn