Junior
Kas ir paralēlisms?
sobes.tech AI
Atbilde no AI
Paralēlisms (Parallelism) ir vairākuzdevumu vai viena uzdevuma daļu vienlaicīga izpilde, parasti ar vairākām procesora kodolu vai atsevišķu skaitļošanas ierīču izmantošanu. Mērķis ir samazināt kopējo programmas izpildes laiku.
.NET platformā paralēlismu īsteno ar:
- Task Parallel Library (TPL): augsta līmeņa bibliotēka paralēlām operācijām.
- Parallel LINQ (PLINQ): LINQ vaicājumu paralēlizācija.
- Roku darbs ar pavedieniem (Threads): zema līmeņa kontrole pār pavedienu izveidi un pārvaldību.
TPL piemērs:
// Vienkārša paralēla cilpa piemērs
Parallel.For(0, 1000, i =>
{
// Izpildām kādu operāciju katram i paralēli
Console.WriteLine($"Iterācija {i} tiek veikta pavedienā {Thread.CurrentThread.ManagedThreadId}");
Thread.Sleep(10); // Darba imitācija
});
Galvenās atšķirības no konkurecijas:
| Parametrs | Paralēlisms (Parallelism) | Konkurecijas (Concurrency) |
|---|---|---|
| Mērķis | Paātrināt izpildi, vienlaikus darbojoties ar vairākām uzdevumiem | Vadīt vairākus uzdevumus, kas var (vai nevar) darboties vienlaikus |
| Nepieciešams | Daudz kodolu (vai ierīču) īstam paralēlismam | Daudz pavedienu, kas var pārslēgties uz vienu kodolu |
| Uzmanība | Viena uzdevuma ātra izpilde (to sadalot daļās) | Vadība un koordinācija vairāku neatkarīgu uzdevumu |
Paralēlisms ir īpaši efektīvs uzdevumiem ar augstu skaitļošanas slodzi (CPU-bound), kurus var sadalīt neatkarīgās apakšuzdevumos.