Junior
Čo je paralelizmus?
sobes.tech AI
Odpoveď od AI
Paralelizmus (Parallelism) je súčasné vykonávanie viacerých úloh alebo častí jednej úlohy, zvyčajne s využitím viacerých jadier procesora alebo samostatných výpočtových zariadení. Cieľom je skrátiť celkový čas vykonávania programu.
V .NET sa na implementáciu paralelizmu používajú:
- Task Parallel Library (TPL): knižnica vysokého stupňa pre paralelné vykonávanie operácií.
- Parallel LINQ (PLINQ): paralelizácia LINQ dopytov.
- Ručná práca s vláknami (Threads): nízkoúrovňová kontrola nad vytváraním a správou vlákien.
Príklad použitia TPL:
// Príklad jednoduchého paralelného cyklu
Parallel.For(0, 1000, i =>
{
// vykonávame operáciu pre každé i paralelne
Console.WriteLine($"Iterácia {i} na vlákne {Thread.CurrentThread.ManagedThreadId}");
Thread.Sleep(10); // simulácia práce
});
Hlavné rozdiely od konkurencie:
| Parameter | Paralelizmus (Parallelism) | Konkurencia (Concurrency) |
|---|---|---|
| Cieľ | Zrýchlenie vykonávania pomocou súčasnej práce | Riadenie viacerých úloh, ktoré môžu alebo nemusia pracovať súčasne |
| Vyžaduje | Viac jadier (alebo zariadení) pre skutočný paralelizmus | Viac vlákien, ktoré môžu prepínať na jednom jadre |
| Zameranie | Rýchlejšie vykonanie jednej úlohy (rozdelením na časti) | Riadenie a koordinácia viacerých nezávislých úloh |
Paralelizmus je obzvlášť efektívny pre úlohy s vysokou výpočtovou záťažou (CPU-bound), ktoré je možné rozdeliť na nezávislé podúlohy.