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.