Sobes.tech
Junior

Mis on paralleelsus?

sobes.tech AI

Vastus AI-lt

Paralleelism (Parallelism) tähendab mitme ülesande või ühe ülesande osade samaaegset täitmist, tavaliselt mitme protsessorituuma või eraldi arvutusseadme kasutamisega. Eesmärk on vähendada programmi üldist täitmis aega.

.NET-is paralleelismi rakendamiseks kasutatakse:

  • Task Parallel Library (TPL): kõrgetasemeline teek paralleelsete operatsioonide teostamiseks.
  • Parallel LINQ (PLINQ): LINQ-päringute paralleelne täitmine.
  • Reaalne töö voogudega (Threads): madala taseme kontroll voogude loomise ja haldamise üle.

TPL näide:

// Näide lihtsast paralleelsest tsüklist
Parallel.For(0, 1000, i =>
{
    // Teostame mingit operatsiooni iga i jaoks paralleelselt
    Console.WriteLine($"Iteratsioon {i} toimub voolus {Thread.CurrentThread.ManagedThreadId}");
    Thread.Sleep(10); // töö imiteerimine
});

Peamised erinevused konkurentsist:

Parameeter Paralleelism (Parallelism) Konkurents (Concurrency)
Eesmärk Kiirendada täitmist samaaegse tööga
Nõutav Mitme tuuma (või seadme) jaoks tõeline paralleelism Mitme voogu, mis võivad (või ei pruugi) töötada samaaegselt
Fookus Ühe ülesande kiire täitmine (jaotades selle osadeks) Mitme sõltumatu ülesande juhtimine ja koordineerimine

Paralleelism on eriti tõhus ülesannete puhul, mille arvutuskoormus on kõrge (CPU-bound), mida saab jagada sõltumatuteks alamülesanneteks.