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.