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.