async / await - wann soll ein Task gegen void zurückgegeben werden?

Unter welchen Szenarien würde man verwenden wollen

public async Task AsyncMethod(int num)

anstatt

public async void AsyncMethod(int num)

Das einzige Szenario, an das ich denken kann, ist, wenn Sie die Aufgabe benötigen, um ihren Fortschritt verfolgen zu können.

Sind bei der folgenden Methode außerdem die asynchronen und wartenden Schlüsselwörter nicht erforderlich?

public static async void AsyncMethod2(int num)
{
    await Task.Factory.StartNew(() => Thread.Sleep(num));
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage