C# 中基于线程的并行性

王林
王林 转载
2023-09-11 16:09:02 319浏览

C# 中基于线程的并行性

在 C# 中,任务并行划分任务。然后将任务分配给单独的线程进行处理。在 .NET 中,您可以使用以下机制来并行运行代码:线程、线程池和任务。为了实现并行性,请使用 C# 中的任务而不是线程。

任务不会创建自己的操作系统线程,而是由 TaskScheduler 执行。

让我们看看如何创建任务。使用委托来启动任务 -

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

使用任务工厂启动任务 -

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

您还可以使用 Lambda -

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

启动任务的最基本方法是使用 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

以上就是C# 中基于线程的并行性的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除