Ejecutar la tarea en segundo plano en la aplicación WPF

Ejemplo

private void Start(object sender, RoutedEventArgs e)
{
    int progress = 0;
    for (;;)
    {
        System.Threading.Thread.Sleep(1);
        progress++;
        Logger.Info(progress);
    }
}

¿Cuál es el enfoque recomendado (TAP o TPL o BackgroundWorker o Dispatcher u otros) si quiero Iniciar ()?

no bloquee el hilo uipuede proporcionar informes de progresopuede ser canceladosoporte multihilo y multinúcleo

Respuestas a la pregunta(3)

Su respuesta a la pregunta