C#中的基於執行緒的並行處理


在 C# 中,Task 並行處理劃分了任務。然後,將任務分配給單獨的執行緒進行處理。在 .NET 中,可以使用以下機制並行執行程式碼:Thread、ThreadPool 和 Task。對於並行處理,使用 C# 中的 task 而不是 Threads。

task 不會建立它自己的作業系統執行緒,而是由 TaskScheduler 執行。

讓我們看看如何建立 task。使用委託啟動一個 task −

Task tsk = new Task(delegate { PrintMessage(); });
tsk.Start();

使用 Task Factory 啟動 task −

Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); });

你還可以使用 Lambda −

Task tsk = new Task( () => PrintMessage() );
tsk.Start();

啟動 task 最基本的方法是使用 run() −

示例

即時演示

using System;
using System.Threading.Tasks;

public class Example {
   public static void Main() {
      Task tsk = Task.Run(() => {
         int a = 0;
         for (a = 0; a <= 1000; a++) {}
         Console.WriteLine("{0} loop iterations ends", a);
      });
      tsk.Wait();
   }
}

輸出

1001 loop iterations ends

更新於:22-Jun-2020

938 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.