Junior
Ce este paralelismul?
sobes.tech AI
Răspuns de la AI
Paralelismul (Parallelism) reprezintă executarea simultană a mai multor sarcini sau părți ale unei sarcini, de obicei utilizând mai multe nuclee ale procesorului sau dispozitive de calcul separate. Scopul este de a reduce timpul total de execuție al programului.
În .NET, pentru implementarea paralelismului se utilizează:
- Task Parallel Library (TPL): bibliotecă de nivel înalt pentru executarea paralelă a operațiilor.
- Parallel LINQ (PLINQ): paralelizarea interogărilor LINQ.
- Lucru manual cu fire de execuție (Threads): control de nivel scăzut asupra creării și gestionării firelor.
Exemplu de utilizare a TPL:
// Exemplu de buclă paralelă simplă
Parallel.For(0, 1000, i =>
{
// Execută o operație pentru fiecare i în paralel
Console.WriteLine($"Iterație {i} pe firul {Thread.CurrentThread.ManagedThreadId}");
Thread.Sleep(10); // simulare de lucru
});
Diferențele principale față de concurență:
| Parametru | Paralelism (Parallelism) | Concurență (Concurrency) |
|---|---|---|
| Obiectiv | Accelerarea execuției prin muncă simultană | Gestionarea mai multor sarcini care pot sau nu pot lucra simultan |
| Necesită | Mai multe nuclee (sau dispozitive) pentru adevărat paralelism | Multe fire de execuție care pot comuta pe un singur nucleu |
| Focus | Executarea unei sarcini mai rapid (divizând-o în părți) | Gestionarea și coordonarea mai multor sarcini independente |
Paralelismul este deosebit de eficient pentru sarcini cu încărcare mare de calcul (CPU-bound), care pot fi împărțite în sub-sarcini independente.