async Task friert die Benutzeroberfläche ein

Ich habe eine Methode wie diese:

private async Task DoSomething()
{
    // long running work here.
}

Wenn ich die Methode so aufrufe, blockiert sie die Benutzeroberfläche:

Task t = DoSomething();

Ich muss eine der folgenden Aktionen ausführen, um die Sperrung aufzuheben:

Task t = new Task(() => DoSomething());
t.Start();

// Or

Task t = Task.Factory.StartNew(() => DoSomething());

Also, was ist der Punkt von async / await, wenn Sie nur Aufgaben verwenden können, wie sie in Framework 4 waren und verwendenTask.Wait() anstelle vonawait?

EDIT: Ich verstehe alle Ihre Antworten - aber keiner spricht wirklich meinen letzten Absatz an. Kann mir jemand ein Beispiel für aufgabenbasiertes Multithreading geben, bei dem async / await die Lesbarkeit und / oder den Programmfluss verbessert?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage