Özel durum işleme ve paralel görevlerle ilgili bir sorunum var.Task.WaitAll ve Özel Durumlar
Aşağıdaki kod, 2 görevi başlatır ve bitirmeleri için bekler. Benim sorunum, bir görev istisna atarsa, yakalama işleyicisine asla ulaşılamaz. Bir zaman aşımı ile görevler için beklemek için aşağıdaki kodu kullandığınızda
List<Task> tasks = new List<Task>();
try
{
tasks.Add(Task.Factory.StartNew(TaskMethod1));
tasks.Add(Task.Factory.StartNew(TaskMethod2));
var arr = tasks.ToArray();
Task.WaitAll(arr);
}
catch (AggregateException e)
{
// do something
}
Ancak, özel durum yakalandı.
while(!Task.WaitAll(arr,100));
Ben
WaitAll
için belgeleri Doğru biri olmak benim ilk girişim tarif olarak, bir şeyler eksik görünüyor. Lütfen neden çalışmadığını anlamak için bana yardım edin.
TaskMethod1 ve TaskMethod2 ne yapar? Hangi iş parçacığı üzerinde çalışıyorsunuz? Bunu, gerçekten yardımcı olabilecek kısa ancak * tam * bir örneğe (cevabım gibi) çevirebilirseniz. –