Sobes.tech
Junior

Co je to paralelismus?

sobes.tech AI

Odpověď od AI

Paralelismus (Parallelism) je současné provádění několika úkolů nebo částí jednoho úkolu, obvykle s využitím více jader procesoru nebo samostatných výpočetních zařízení. Cílem je zkrátit celkovou dobu běhu programu.

V .NET se pro implementaci paralelismu používají:

  • Task Parallel Library (TPL): vysoceúrovňová knihovna pro paralelní provádění operací.
  • Parallel LINQ (PLINQ): paralelizace LINQ dotazů.
  • Ruční práce s vlákny (Threads): nízkoúrovňová kontrola nad vytvářením a správou vláken.

Příklad použití TPL:

// Příklad jednoduchého paralelního cyklu
Parallel.For(0, 1000, i =>
{
    // provádíme operaci pro každé i paralelně
    Console.WriteLine($"Iterace {i} na vlákně {Thread.CurrentThread.ManagedThreadId}");
    Thread.Sleep(10); // simulace práce
});

Hlavní rozdíly od konkurence:

Parametr Paralelismus (Parallelism) Konkurence (Concurrency)
Cíl Zrychlení provádění díky současné práci Řízení více úkolů, které mohou nebo nemusí pracovat současně
Vyžaduje Více jader (nebo zařízení) pro skutečný paralelismus Více vláken, která se mohou přepínat na jednom jádře
Zaměření Rychlejší provádění jednoho úkolu (rozdělením na části) Řízení a koordinace více nezávislých úkolů

Paralelismus je obzvlášť efektivní pro úkoly s vysokou výpočetní zátěží (CPU-bound), které lze rozdělit na nezávislé podúkoly.