Task.Factory.StartNew Передача возвращаемых значений
Я получаю следующий метод и хочу передать возвращаемые значения метода dosleep:
static void Main(string[] args)
{
var t1 = Task.Factory.StartNew(() => dosleep(2000));
var t2 = Task.Factory.StartNew(() => dosleep(1000));
Task.WaitAll(t1,t2);
Console.WriteLine("All Done in {0} milliseconds!"); //t1+t2 here!!
}
public static int dosleep(int Milliseconds)
{
System.Threading.Thread.Sleep(Milliseconds);
Console.WriteLine("Task finished");
return Milliseconds;
}
1 ответ
Решение
Используйте свойство Result объекта Task
Console.WriteLine("All Done in {0} milliseconds!", t1.Result + t2.Result);