Junior — Middle
Ako sa v programovaní realizuje paralelné vykonávanie úloh?
sobes.tech AI
Odpoveď od AI
V jazyku C# sa paralelné vykonávanie úloh realizuje pomocou niekoľkých prístupov:
- Vlákna (Threads) — manuálne vytváranie a správa vlákien pomocou triedy
Thread. - Pool vlákien (ThreadPool) — použitie poolu vlákien na opätovné využitie vlákien bez nákladov na ich vytvorenie.
- Úlohy (Tasks) — mechanizmus vyššej úrovne v priestore mien
System.Threading.Tasks, ktorý umožňuje spúšťanie asynchrónnych operácií. - Asynchrónne programovanie (async/await) — zjednodušuje písanie asynchrónneho kódu, umožňuje spúšťanie úloh paralelne bez blokovania hlavného vlákna.
Príklad paralelného vykonávania pomocou Task:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
Task task1 = Task.Run(() => {
// Paralelná práca
Console.WriteLine("Úloha 1 sa vykonáva");
});
Task task2 = Task.Run(() => {
Console.WriteLine("Úloha 2 sa vykonáva");
});
await Task.WhenAll(task1, task2);
Console.WriteLine("Všetky úlohy sú dokončené");
}
}
Týmto spôsobom sa dosahuje paralelizmus spustením viacerých úloh, ktoré môžu byť vykonávané súčasne na rôznych vláknach.