Junior — Middle
Asinxron proqramlaşdırmada WaitAll və WhenAll metodlarının istifadəsi arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
C# dilində WaitAll və WhenAll metodları bir neçə vəzifənin tamamlanmasını gözləmək üçün istifadə olunur, lakin mühüm fərqlərə malikdir:
-
WaitAll —
Tasksinfinin sinxron metodudur, və ötürülən bütün vəzifələr tamamlanana qədər cari axını bloklayır. Nəticə qaytarmır və asinxron gözləməni dəstəkləmir. -
WhenAll — tamamlandıqda bütün ötürülən vəzifələrin bitdiyini bildirən vəzifə qaytaran asinxron metoddur.
awaitistifadə etməyə imkan verir, bu da tətbiqin performansını və cavabvermə qabiliyyətini yaxşılaşdırır.
WhenAll istifadə nümunəsi:
var tasks = new[] { Task.Delay(1000), Task.Delay(2000) };
await Task.WhenAll(tasks);
Console.WriteLine("Bütün vəzifələr tamamlandı");
WaitAll istifadə:
var tasks = new[] { Task.Delay(1000), Task.Delay(2000) };
Task.WaitAll(tasks);
Console.WriteLine("Bütün vəzifələr tamamlandı");
Əsas fərq odur ki, WaitAll axını bloklayır, WhenAll isə bloklamadan asinxron gözləməyə imkan verir.