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

Parallélisme basé sur les threads en C#

王林
Libérer: 2023-09-11 16:09:02
avant
817 Les gens l'ont consulté

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();
Copier après la connexion

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

Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); });
Copier après la connexion

Vous pouvez également utiliser Lambda -

Task tsk = new Task( () => PrintMessage() );
tsk.Start();
Copier après la connexion

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();
   }
}
Copier après la connexion

Sortie

1001 loop iterations ends
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal