Sobes.tech
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.