Sobes.tech
Junior — Middle

Bir görev kümesindeki tüm görevlerin tamamlanmasını beklemeyi nasıl gerçekleştirirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

C#'ta, bir kümedeki tüm görevlerin tamamlanmasını beklemek için Task.WhenAll yöntemini kullanabilirsiniz. Bu yöntem, görevlerin dizisini veya koleksiyonunu alır ve tüm iletilen görevler tamamlandığında sona eren bir görev döndürür.

Örnek:

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

await Task.WhenAll(tasks);

void DoWork(int id)
{
    // bazı işler
    Console.WriteLine($"Görev {id} tamamlandı");
}

Eğer async/await kullanmıyorsanız, Task.WaitAll(tasks) çağırabilirsiniz, bu da tüm görevler tamamlanana kadar mevcut iş parçacığını engeller.