Comprendre les threads et les tâches
Découvrez les threads et les tâches pour gérer le traitement parallèle en C#
Comprendre les threads et les tâches est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 5. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 5 leçons au total.
Introduction à la gestion des fils d’exécution et des tâches
Comprendre les fils d’exécution et les tâches
Bienvenue dans la prochaine leçon ! Dans cette leçon, vous découvrirez les fils d’exécution et les tâches en C#, qui vous permettent d’exécuter plusieurs opérations simultanément pour améliorer les performances. Commençons !

Qu’est-ce que la gestion des fils d’exécution ?
Qu’est-ce que la gestion des fils d’exécution ?
La gestion des fils d’exécution consiste à exécuter plusieurs opérations simultanément. Chaque fil d’exécution représente un flux de contrôle distinct dans votre application.
Point clé : La gestion des fils d’exécution améliore les performances en utilisant plusieurs cœurs de processeur pour une exécution simultanée.
Créer et démarrer des fils d’exécution
Créer et démarrer des fils d’exécution
Vous pouvez créer et démarrer des fils d’exécution à l’aide de la classe Thread. Exemple :
using System;
using System.Threading;
class Program {
static void Main() {
Thread thread = new Thread(PrintNumbers);
thread.Start();
Console.WriteLine("Main thread is running...");
}
static void PrintNumbers() {
for (int i = 1; i <= 5; i++) {
Console.WriteLine(i);
Thread.Sleep(1000); // Pause for 1 second
}
}
}
Introduction aux tâches
Introduction aux tâches
Les tâches offrent une abstraction de plus haut niveau pour la programmation simultanée par rapport aux fils d’exécution. La classe Task fait partie de la bibliothèque de tâches parallèles (TPL) en C#.
Exemple : créer et démarrer une tâche :
Astuce : Les tâches sont plus faciles à gérer et offrent une meilleure gestion des erreurs que les fils d’exécution.
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
Task task = Task.Run(() => {
for (int i = 1; i <= 5; i++) {
Console.WriteLine(i);
Task.Delay(1000).Wait();
}
});
Console.WriteLine("Main thread is running...");
task.Wait(); // Wait for the task to complete
}
}
Utiliser Parallel.For et Parallel.ForEach
Utiliser Parallel.For et Parallel.ForEach
La classe Parallel en C# vous permet d’exécuter des boucles en parallèle pour améliorer les performances. Exemple :
Point clé : Utilisez Parallel.For et Parallel.ForEach pour les tâches qui traitent beaucoup de données et peuvent être exécutées simultanément.
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
Parallel.For(0, 5, i => {
Console.WriteLine($"Processing {i} on thread {Task.CurrentId}");
});
Console.WriteLine("All tasks completed.");
}
}
Gérer les exceptions dans les tâches
Gérer les exceptions dans les tâches
Vous pouvez intercepter les exceptions dans les tâches à l’aide d’un bloc try-catch ou de la propriété Task.Exception. Exemple :
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
try {
Task task = Task.Run(() => {
throw new InvalidOperationException("Task failed!");
});
task.Wait();
} catch (AggregateException ex) {
Console.WriteLine("Error: " + ex.InnerException.Message);
}
}
}
Exercice pratique
Exercice pratique
Créez un programme qui démarre plusieurs tâches pour traiter des nombres en parallèle et afficher leurs carrés. Exemple :
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
int[] numbers = { 1, 2, 3, 4, 5 };
Parallel.ForEach(numbers, number => {
Console.WriteLine($"Square of {number}: {number * number}");
});
}
}
Bonnes pratiques pour les fils d’exécution et les tâches
Bonnes pratiques pour les fils d’exécution et les tâches
Voici quelques bonnes pratiques :
- Préférez
TaskàThreadpour la programmation simultanée de haut niveau. - Utilisez les classes
Parallelpour les opérations qui traitent beaucoup de données. - Gérez correctement les exceptions pour garantir la robustesse des applications.
- Limitez le nombre de fils d’exécution ou de tâches afin d’éviter la concurrence pour les ressources.
Astuce : Utilisez la programmation async lorsque les opérations d’E/S prédominent, et utilisez les fils d’exécution ou les tâches pour les tâches liées au CPU.
Bravo !
Bravo !
Félicitations ! Vous avez appris les bases des fils d’exécution et des tâches pour la programmation simultanée en C#. Dans la prochaine leçon, nous étudierons les delegate et les expressions lambda, deux fonctionnalités puissantes de la programmation fonctionnelle. Continuons à coder !

Questions Fréquemment Posées
La leçon « Comprendre les threads et les tâches » est-elle gratuite ?
Oui — le texte complet de « Comprendre les threads et les tâches » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 5 leçons au total.
Qu'est-ce que j'apprendrai dans « Comprendre les threads et les tâches » ?
Découvrez les threads et les tâches pour gérer le traitement parallèle en C# Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C# Academy ?
Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 5.
Combien de temps prend la leçon « Comprendre les threads et les tâches » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?
Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Types génériques en C#
- Async et await : manipuler le code asynchrone
- Comprendre les threads et les tâches
- Découvrir les délégués et les expressions lambda
- Comprendre la réflexion en C#