Wykonaj zadanie w tle w aplikacji WPF

Przykład

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

Jakie jest zalecane podejście (TAP lub TPL lub BackgroundWorker lub Dispatcher lub inne), jeśli chcę Start ()

nie blokuj wątku uimoże zapewnić raportowanie postępówmożna anulowaćobsługa wielowątkowa i wielordzeniowa

questionAnswers(3)

yourAnswerToTheQuestion