Asynchrone Programmierung mit async und await in C#
In dieser Lektion schreibst du asynchronen Code mit async und await, um auf eine Aufgabe zu warten, ohne das Programm zu blockieren.
Einführung
Muss ein Programm auf zeitaufwendige Vorgänge warten, etwa auf das Lesen einer Datei, einen API-Aufruf oder einen Timer, sorgt asynchrone (asynchronous) Programmierung dafür, dass der Thread beim Warten nicht blockiert ist. C# bietet die Schlüsselwörter async und await, mit denen asynchroner Code so gut lesbar ist wie normaler, sequenzieller Code.
Die Methode Main ist als static async Task deklariert. Die Anweisung await Task.Delay(20) pausiert die Methode 20 Millisekunden lang, ohne den laufenden Thread zu blockieren. Ist das Warten vorbei, macht die Methode genau an dieser Stelle weiter und gibt Async work complete aus.
Ausführbares C#-Beispiel
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
await Task.Delay(20);
Console.WriteLine("Async work complete");
}
}
Async work completeMit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
Alle Challenges