Asynchrones Programmieren (async & await)
Asynchrone Programmierung ist entscheidend für moderne Anwendungen. Sie verhindert, dass die Benutzeroberfläche blockiert, während das Programm auf zeitintensive Aufgaben wie Netzwerkabfragen oder Dateizugriffe wartet.
1. Grundlagen: async & await
In C# markieren Sie eine Methode mit dem Modifikator async. Innerhalb dieser Methode nutzen Sie await, um auf einen Task zu warten.
using System.Threading.Tasks;
// Eine asynchrone Methode, die einen String zurückgibt
public async Task<string> LadeDatenAsync()
{
// Simuliert eine Verzögerung von 2 Sekunden
await Task.Delay(2000);
return "Daten geladen";
}
2. Asynchrone Methoden aufrufen
Um eine asynchrone Methode aufzurufen, muss die aufrufende Methode ebenfalls als async markiert sein.
public async void OnButtonClick()
{
// Der Thread wird hier nicht blockiert
string ergebnis = await LadeDatenAsync();
Console.WriteLine(ergebnis);
}
3. Warum asynchron?
- Responsivität: Die Anwendung bleibt für Benutzereingaben empfänglich.
- Durchsatz: Ein Webserver kann mehr Anfragen gleichzeitig bearbeiten.
- Ressourcenschonung: Threads werden freigegeben, während sie auf I/O-Operationen warten.