Zum Inhalt springen

Asynchrone Programmierung

Auf ein Ergebnis warten können, ohne deshalb den gesamten vorgesehenen Ablauf zu blockieren.

Softwarearchitektur

Was ist asynchrone Programmierung?

Asynchrone Programmierung erlaubt, eine Aufgabe anzustoßen und ihr Ergebnis später zu verarbeiten. Während geeigneter Wartephasen kann das Programm andere Ereignisse bearbeiten. Netzwerkzugriffe sind ein häufiger Anwendungsfall. Daraus folgt keine automatische parallele Ausführung und kein allgemeines Versprechen, dass jede Operation schneller wird. Rechenintensive Arbeit kann den ausführenden Ablauf weiterhin blockieren, wenn sie dort synchron läuft.

In einem erfundenen Portal startet ein Dokumentupload. Während die Übertragung aussteht, kann die Oberfläche weiter reagieren und einen Fortschrittszustand zeigen. Erst die passende Bestätigung erlaubt die Meldung, dass das Dokument gespeichert wurde. Fehler, Abbruch und verspätete Antworten brauchen eigene Zustände. Eine früh zurückkehrende Funktion oder eine reagierende Oberfläche belegt daher noch keinen erfolgreichen Upload.

Quellen