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