Wie implementiert man asynchrone Programmierung in C#? Ich habe diesen Code
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("Start");
await DoAsyncTask();
Console.WriteLine("End");
}
static async Task DoAsyncTask()
{
Console.WriteLine("Task started");
await Task.Delay(2000);
Console.WriteLine("Task completed");
}
}
Aber der Main Task steckt solange bis DoAsyncTask fertig ist.
Start
Task started
Task completed
End
Sollte es aber nicht so aussehen?
Start
Task started
End
Task completed
Wie kann ich während der Ausführung von DoAsyncTask eine andere Aufgabe ausführen?