pp.08.04-ConcurrencyMonteCarloPiCF
Monte-Carlo-Algorithmus zur Annäherung von \(\pi\) – mit CompletableFuture
- Projekt:
pp.08.04-ConcurrencyMonteCarloPiCF
- Bearbeitungszeit: 15 Minuten
- Musterlösung: 15 Minuten
- Kompatibilität: mindestens Java SE 16
Wie \(\pi\) hier berechnet wird, ist nicht prüfungsrelevant. Die Anwendung des CompletableFuture
-Frameworks allerdings schon.
Aufgaben
- Die Berechnung von \(\pi\) soll nun auf das
CompletableFuture
-Framework umgestellt werden. Sie brauchen deshalb keinen eigenen Threadpool alsExecutorService
erzeugen. DasCompletableFuture
-Framework verwendet dencommonPool
. Die nebenläufigen Berechnungen können mitsupplyAsync
gestartet werden. Die Addition der Teilergebnisse kann durchthenCombineAsync
asynchron vollzogen werden. - Führen Sie das Programm mehrfach aus und messen Sie dabei die Zeit. Vergleichen Sie den Aufwand mit der sequentiellen und Future-Lösung. Vergleichen Sie auch Übersichtlichkeit und Aufbau der Lösung mit
Future<...>
undCompletableFuture<...>
.