Asynchrone Programmierung
18.05.2017, 00:00 Uhr
Blick über den Tellerrand
Wie und warum async & await in C# und JavaScript funktionieren.
Als .NET 1.0 im Jahr 2002 vorgestellt wurde, war asynchrone Programmierung landläufig gleichbedeutend mit paralleler Programmierung. Wollte man in einer Anwendung verschiedene Aufgaben gleichzeitig verarbeiten, musste man auf Threads zurückgreifen. Um die Entwickler dabei zu unterstützen, kannte .NET Methoden mit den Präfixen Begin und End. Das Konzept wird in .NET als Asynchronous Programming Model [1] bezeichnet. Auch die Sprache C# versuchte mit verschiedenen Schlüsselwörtern zu helfen, beispielsweise mit lock und volatile. Trotzdem blieb der Umgang mit mehreren Threads umständlich und fehleranfällig.
In .NET 2.0 verbesserte sich die Situation ein wenig. Erstmals enthielt das Framework Methoden wie DownloadStringAsync, die einen Vorgang im Hintergrund auf bequemem Weg auslösen konnten, ohne dass sich der Entwickler mit dem Threading direkt auseinandersetzen musste. Das Ergebnis wurde über ein Ereignis zur Verfügung gestellt, beispielsweise über DownloadStringCompleted. Das Verfahren wird in .NET als Event-based Asynchronous Pattern [2] bezeichnet.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar