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.