Sobes.tech
Junior

Wat is parallelisme?

sobes.tech AI

Antwoord van AI

Parallelisme (Parallelism) is het gelijktijdig uitvoeren van meerdere taken of delen van één taak, meestal met behulp van meerdere processor-cores of aparte rekeneenheden. Het doel is om de totale uitvoeringstijd van het programma te verkorten.

In .NET worden voor het implementeren van parallelisme gebruikt:

  • Task Parallel Library (TPL): hoog-niveau bibliotheek voor parallelle uitvoering van operaties.
  • Parallel LINQ (PLINQ): parallelisatie van LINQ-queries.
  • Handmatig werken met threads (Threads): laag-niveau controle over het creëren en beheren van threads.

Voorbeeld van gebruik van TPL:

// Eenvoudig parallel for-loop voorbeeld
Parallel.For(0, 1000, i =>
{
    // Voer een operatie uit voor elke i parallel
    Console.WriteLine($"Iteratie {i} op thread {Thread.CurrentThread.ManagedThreadId}");
    Thread.Sleep(10); // simulatie van werk
});

Belangrijkste verschillen met concurrency:

Parameter Parallelisme (Parallelism) Concurrency (Concurrency)
Doel Versnellen van uitvoering door gelijktijdig werk Beheer van meerdere taken die gelijktijdig (of niet) kunnen werken
Vereist Meerdere cores (of apparaten) voor echte parallelisme Meerdere threads die kunnen schakelen op één core
Focus Eén taak sneller uitvoeren (door deze op te splitsen) Beheer en coördinatie van meerdere onafhankelijke taken

Parallelisme is vooral effectief voor taken met hoge rekenbelasting (CPU-bound), die kunnen worden opgesplitst in onafhankelijke subtaken.