Maison  >  Article  >  développement back-end  >  Parallélisme basé sur les threads en C#

Parallélisme basé sur les threads en C#

王林
王林avant
2023-09-11 16:09:02729parcourir

C# 中基于线程的并行性

En C#, les tâches sont divisées en tâches en parallèle. La tâche est ensuite affectée à un thread distinct pour traitement. Dans .NET, vous pouvez exécuter du code en parallèle à l’aide des mécanismes suivants : threads, pools de threads et tâches. Pour obtenir le parallélisme, utilisez des tâches au lieu de threads en C#.

Les tâches ne créent pas leurs propres threads de système d'exploitation, mais sont exécutées par TaskScheduler.

Voyons comment créer une tâche. Utilisez des délégués pour démarrer des tâches -

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

Utilisez des usines de tâches pour démarrer des tâches -

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

Vous pouvez également utiliser Lambda -

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

La façon la plus simple de démarrer des tâches est d'utiliser run() -

Exemple

Démo en direct

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

Sortie

1001 loop iterations ends

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer