Junior
Qu'est-ce que le parallélisme?
sobes.tech IA
Réponse de l'IA
Le parallélisme (Parallelism) est l'exécution simultanée de plusieurs tâches ou parties d'une même tâche, généralement en utilisant plusieurs cœurs de processeur ou dispositifs de calcul séparés. L'objectif est de réduire le temps total d'exécution du programme.
Dans .NET, pour réaliser le parallélisme, on utilise :
- Task Parallel Library (TPL) : Bibliothèque de haut niveau pour l'exécution parallèle d'opérations.
- Parallel LINQ (PLINQ) : Parallélisation des requêtes LINQ.
- Travail manuel avec des threads (Threads) : Contrôle de bas niveau sur la création et la gestion des threads.
Exemple d'utilisation de TPL :
// Exemple d'une boucle parallèle simple
Parallel.For(0, 1000, i =>
{
// Effectuer une opération pour chaque i en parallèle
Console.WriteLine($"Itération {i} en thread {Thread.CurrentThread.ManagedThreadId}");
Thread.Sleep(10); // Simulation de travail
});
Principales différences avec la concurrence (Concurrency) :
| Paramètre | Parallélisme (Parallelism) | Concurrence (Concurrency) |
|---|---|---|
| Objectif | Accélérer l'exécution grâce au travail simultané | Gestion de plusieurs tâches qui peuvent ou non fonctionner simultanément |
| Requiert | Plusieurs cœurs (ou dispositifs) pour un véritable parallélisme | Plusieurs threads pouvant basculer sur un seul cœur |
| Focus | Exécuter une tâche plus rapidement (en la divisant en parties) | Gestion et coordination de plusieurs tâches indépendantes |
Le parallélisme est particulièrement efficace pour les tâches à forte charge de calcul (CPU-bound), qui peuvent être divisées en sous-tâches indépendantes.