Sobes.tech
Junior

Mi a párhuzamosság?

sobes.tech MI

Válasz az MI-től

A párhuzamosság (Parallelism) több feladat vagy egy feladat részeinek egyidejű végrehajtása, általában több processzormag vagy külön számítási eszköz használatával. Célja a program összes végrehajtási idejének csökkentése.

.NET-ben a párhuzamosság megvalósításához a következőket használják:

  • Task Parallel Library (TPL): magas szintű könyvtár párhuzamos műveletekhez.
  • Parallel LINQ (PLINQ): LINQ lekérdezések párhuzamosítása.
  • Kézi szálkezelés (Threads): alacsony szintű ellenőrzés a szálak létrehozásában és kezelésében.

TPL példája:

// Egyszerű párhuzamos ciklus példa
Parallel.For(0, 1000, i =>
{
    // Minden i esetén párhuzamos művelet végrehajtása
    Console.WriteLine($"Iteráció {i} a {Thread.CurrentThread.ManagedThreadId} szálon");
    Thread.Sleep(10); // munka szimulálása
});

Fő különbségek a konkurenciával (Concurrency):

Paraméter Párhuzamosság (Parallelism) Konkurrencia (Concurrency)
Cél A végrehajtás felgyorsítása egyidejű munkával Több feladat kezelése, amelyek lehetnek vagy nem lehetnek egyszerre működőképesek
Szükséges Több mag (vagy eszköz) a valódi párhuzamossághoz Több szál, amelyek egy magon váltogatnak
Fókusz Egy feladat gyorsabb végrehajtása (felosztva részekre) Több független feladat kezelése és koordinálása

A párhuzamosság különösen hatékony CPU-kötött feladatok esetén, amelyek független alfeladatokra oszthatók.