Hola, normalmente haría esto con un Background Worker, pero me gustaría hacerlo con C# Task en su lugar, solo para entender mejor Task.Ejecutando múltiples C# Task Async
La cosa es que tengo una clase con las siguientes propiedades
private int _number1;
public int Number1
{
get { return _number1; }
set { _number1 = value; OnPropertyChanged("Number1");}
}
private int _number2;
public int Number2
{
get { return _number2; }
set { _number2 = value; OnPropertyChanged("Number2");}
}
Tenga en cuenta que yo uso el INotifyPropertyChanged.
Number1 = Task<int>.Factory.StartNew(() => GenerateResult()).Result;
Number2 = Task<int>.Factory.StartNew(() => GenerateResult2()).Result;
El GenerateResult y GenerateResult2 son sólo métodos Dumme, que duerme y luego devuelven un número.
¿Cómo puedo hacer que esto funcione Async? Desde ahora, se llama primero a GenerateResult2() cuando finaliza GenerateResult().
Lo necesito para poder trabajar en Async, ya que no tengo idea de cuándo va a terminar cada tarea o incluso si va a terminar.
Muchas gracias Isak Savo funciona perfecto y es fácil de leer :-) Mucho más fácil que Backgroundworkers – gulbaek
No es definitivo que cualquier tarea se ejecutará todo el tiempo en un hilo de trabajo. El resultado simplemente bloquea el hilo que lo llamó hasta que esté listo para dar salida a los datos o establecer una excepción. –
Gracias, tenía una línea de depuración que llamaba .Result para poder hacer una prueba rápida y estaba rompiendo la sincronización: O – John