Sobes.tech
Junior — Middle

Asenkron programlamada WaitAll ve WhenAll metodlarının kullanımı arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# dilinde WaitAll ve WhenAll metodları, birden fazla görevin tamamlanmasını beklemek için kullanılır, ancak önemli farklara sahiptir:

  • WaitAllTask sınıfının senkron bir metodudur, ve çağrıldığı anda mevcut akışı, tüm verilen görevler tamamlanana kadar engeller. Sonuç döndürmez ve asenkron beklemeyi desteklemez.

  • WhenAll — tamamlandığında tüm verilen görevlerin bitişini sağlayan bir görev döndüren asenkron bir yöntemdir. await kullanarak engellemeden beklemeye izin verir, bu da uygulamanın performansını ve yanıt verme kabiliyetini artırır.

WhenAll kullanım örneği:

var tasks = new[] { Task.Delay(1000), Task.Delay(2000) };
await Task.WhenAll(tasks);
Console.WriteLine("Tüm görevler tamamlandı");

WaitAll kullanımı:

var tasks = new[] { Task.Delay(1000), Task.Delay(2000) };
Task.WaitAll(tasks);
Console.WriteLine("Tüm görevler tamamlandı");

Ana fark, WaitAll'in akışı engellemesi, WhenAll'in ise engellemeden asenkron olarak beklemesine izin vermesidir.