Sobes.tech
Junior — Middle

Kaip įgyvendinti laukiant visų užduočių iš užduočių rinkinio pabaigą?

sobes.tech AI

Atsakymas iš AI

C# kalboje, norint laukti, kol baigsis visi užduočių rinkinys, galite naudoti metodą Task.WhenAll. Šis metodas priima užduočių masyvą arba kolekciją ir grąžina užduotį, kuri užbaigiama, kai baigiamos visos perduotos užduotys.

Pavyzdys:

Task[] tasks = new Task[]
{
    Task.Run(() => DoWork(1)),
    Task.Run(() => DoWork(2)),
    Task.Run(() => DoWork(3))
};

await Task.WhenAll(tasks);

void DoWork(int id)
{
    // tam tikras darbas
    Console.WriteLine($"Užduotis {id} baigta");
}

Jei nenaudojate async/await, galite iškviesti Task.WaitAll(tasks), kuris blokuoja dabartinį srautą iki visos užduoties pabaigos.