Heim  >  Artikel  >  Backend-Entwicklung  >  Threadbasierte Parallelität in C#

Threadbasierte Parallelität in C#

王林
王林nach vorne
2023-09-11 16:09:02729Durchsuche

C# 中基于线程的并行性

In C# werden Aufgaben in parallele Aufgaben aufgeteilt. Die Aufgabe wird dann einem separaten Thread zur Bearbeitung zugewiesen. In .NET können Sie Code mithilfe der folgenden Mechanismen parallel ausführen: Threads, Thread-Pools und Aufgaben. Um Parallelität zu erreichen, verwenden Sie in C# Aufgaben anstelle von Threads.

Aufgaben erstellen keine eigenen Betriebssystem-Threads, sondern werden vom TaskScheduler ausgeführt.

Sehen wir uns an, wie man eine Aufgabe erstellt. Verwenden Sie Delegaten, um Aufgaben zu starten –

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

Verwenden Sie Aufgabenfabriken, um Aufgaben zu starten –

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

Sie können auch Lambda verwenden –

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

Die einfachste Möglichkeit, Aufgaben zu starten, ist die Verwendung von run() –

Beispiel

Live-Demo

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();
   }
}

Ausgabe

1001 loop iterations ends

Das obige ist der detaillierte Inhalt vonThreadbasierte Parallelität in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen