Junior
Шта је паралелизам?
sobes.tech АИ
Одговор од АИ
Paralelizam (Parallelism) je istovremeno izvršavanje više zadataka ili delova jednog zadatka, obično korišćenjem više jezgara procesora ili odvojenih računarskih uređaja. Cilj je skraćenje ukupnog vremena izvršavanja programa.
U .NET-u, za implementaciju paralelizma koriste se:
- Task Parallel Library (TPL): biblioteka visokog nivoa za paralelno izvršavanje operacija.
- Parallel LINQ (PLINQ): paralelizacija LINQ upita.
- Ručno upravljanje nitima (Threads): niskonivo kontrola nad kreiranjem i upravljanjem nitima.
Primer korišćenja TPL:
// Primer jednostavne paralelne petlje
Parallel.For(0, 1000, i =>
{
// izvršavamo operaciju za svaki i paralelno
Console.WriteLine($"Iteracija {i} na niti {Thread.CurrentThread.ManagedThreadId}");
Thread.Sleep(10); // simulacija rada
});
Glavne razlike u odnosu na konkurenciju:
| Parametar | Paralelizam (Parallelism) | Konkurencija (Concurrency) |
|---|---|---|
| Cilj | Ubrzanje izvršavanja putem istovremenog rada | Upravljanje više zadataka koji mogu ili ne moraju raditi istovremeno |
| Potrebno | Više jezgara (ili uređaja) za pravi paralelizam | Više niti koje mogu prebacivati na jednom jezgru |
| Fokus | Izvršavanje jednog zadatka brže (deljenjem na delove) | Upravljanje i koordinacija više nezavisnih zadataka |
Paralelizam je posebno efikasan za zadatke sa visokim računarskim opterećenjem (CPU-bound), koji se mogu podeliti na nezavisne podzadatke.