pp.04.02-Future
Asynchrone Ausführung mit Callable
und Future
- Projekt:
pp.04.02-Future
- Bearbeitungszeit: 10 Minuten
- Musterlösung: 10 Minuten
- Kompatibilität: mindestens Java SE 10
In dieser Aufgabe programmieren Sie die asynchrone Ausführung wie in pp.04.01-RunnableReturn
, nun aber mit Future
und Callable
Quellcode von Main
Aufgaben
Main
Implementieren Sie dieselbe Funktionalität wie in pp.04.01-RunnableReturn
mit Future
und Callable
: Erzeugen Sie drei RunnableWithResult
-Objekte für die Berechnung des Ausdrucks ((1+2)+(3+4)), die nebenläufig zum Main-Thread ausgeführt werden. Das Ergebnis soll ausgegeben werden. Sie können Lambda-Ausdrücke* oder Inner Classes benutzen um die Expression
’s zu erzeugen.*
Callable<T>
und Future<T>
Für Expression<T>
und RunnableWithResult<T>
gibt es seit Java 5 Callable<T>
und Future<T>
. Bilden Sie zwei Paare: Welches Java 5 Interface ersetzt das selbst entwickelte Expression<T>
und welches RunnableWithResult<T>
?
Exceptions
Was sind die Unterschiede zwischen den selbst entwickelten Expression<T>
bzw. RunnableWithResult<T>
und Callable<T>
bzw. Future<T>
beim Exception-Handling? Provozieren Sie wieder eine Exception durch Division durch 0. Wann wird sie nun realisert und wo muss man sie behandeln?