Kursinhalt
Einführung in .NET mit C#
Einführung in .NET mit C#
Was Ist Asynchrones Programmieren?
Bisher war der von uns geschriebene Code rein synchron, was bedeutet, dass jede Aufgabe nacheinander ausgeführt wurde und fast nie mehrere Aufgaben gleichzeitig liefen.
Wenn wir beispielsweise folgenden Code haben:
Jede Methode wird nacheinander ausgeführt. Das heißt, task2
startet erst, wenn task1
abgeschlossen ist. Ebenso startet task3
erst, wenn task2
abgeschlossen ist.
Das ist in einfachen Programmen akzeptabel, aber bei größeren Anwendungen müssen wir sicherstellen, dass eine Aufgabe die Ausführung einer anderen nicht blockiert.
Zum Beispiel kann in Webbrowsern ein Tab Musik abspielen, während in einem anderen Tab der Benutzer in sozialen Netzwerken surft. Diese Art von Multitasking ist durch asynchrones Programmieren möglich.
Asynchrones Programmieren ist eine Programmiermethode, die es ermöglicht, Programme zu erstellen, die mehrere Aufgaben gleichzeitig ausführen können. Dadurch werden Anwendungen effizienter und reaktionsschneller, indem mehrere Aufgaben parallel ausgeführt werden.
C# stellt uns einige nützliche Werkzeuge für das asynchrone Programmieren zur Verfügung. Wie diese verwendet werden, sehen wir im nächsten Kapitel.
Vorteile des asynchronen Programmierens:
Durch die gleichzeitige Ausführung zeitintensiver Aufgaben (concurrent) kann effektiv verhindert werden, dass das Hauptprogramm blockiert wird. Dieser parallele Ansatz sorgt dafür, dass die Anwendung auch bei ressourcen- oder zeitintensiven Aufgaben reaktionsfähig bleibt;
Erhöhte Reaktionsfähigkeit und schnellere Ausführung sorgen für ein flüssigeres Benutzererlebnis;
Anstatt alle Operationen in einer einzigen Warteschlange auszuführen, werden sie parallel abgearbeitet. Dadurch kann die Anwendung eine größere Anzahl gleichzeitiger Operationen bewältigen und wird skalierbarer. Zum Beispiel kann eine Anwendung viele Clients (Benutzer) gleichzeitig bedienen.
Nachteile des asynchronen Programmierens:
Durch den Einsatz von asynchronem Programmieren kann die Komplexität des Codes steigen, was die Verwaltung und Fehlersuche erschwert;
Wenn ein Teil des Codes asynchron gestaltet wird, wird häufig auch der Großteil des restlichen Codes asynchron.
Danke für Ihr Feedback!