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