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.