Sobes.tech
Junior — Middle

Чӣ гуна иҷро кардани интизориии анҷоми ҳамаи вазифаҳо аз маҷмӯи вазифаҳо?

sobes.tech AI

Ҷавоб аз AI

Дар C# барои интизор шудан ба анҷоми ҳамаи вазифаҳо аз як гурӯҳ, шумо метавонед усули Task.WhenAll-ро истифода баред. Ин усул массив ё ҷамъоварии вазифаҳоро қабул мекунад ва вазифае бармегардонад, ки вақте ҳамаи вазифаҳое, ки дода шудаанд, ба анҷом мерасанд, ба охир мерасад.

Масалан:

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

await Task.WhenAll(tasks);

void DoWork(int id)
{
    // коре муайян
    Console.WriteLine($"Вазифа {id} тамом шуд");
}

Агар шумо async/await-ро истифода набаред, метавонед Task.WaitAll(tasks)-ро даъват кунед, ки ҷараёни ҳозираро то анҷоми ҳамаи вазифаҳо монеъ мешавад.