15 CompletableFuture
15.1 CompletableFuture als Erweiterung des Future-Patterns
Mithilfe des Future-Konzepts ist es sehr einfach, einen asynchronen Task zu starten und dessen Ergebnis zu einem späteren Zeitpunkt über entsprechende Methoden abzufragen (vgl. Abschnitt 6.2).
Möchte man z.B. mehrere intern voneinander abhängige Tasks ausführen, so muss der Ablauf mit den bisherigen Möglichkeiten aber explizit koordiniert werden. Codebeispiel 15.1 zeigt, wie zwei Tasks hintereinander ausführt werden, wobei der zweite (➌) das Ergebnis des ersten (➊) nutzt. Die Koordination wird hier explizit vom Aufrufer übernommen, was zum einen dazu führen kann, dass er unnötig blockiert wird, falls der erste Task beim Aufruf von get (➋) noch nicht beendet ist, und ...
Get Nebenläufige Programmierung mit Java now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.