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 alsExecutorServiceerzeugen. DasCompletableFuture-Framework verwendet dencommonPool. Die nebenläufigen Berechnungen können mitsupplyAsyncgestartet werden. Die Addition der Teilergebnisse kann durchthenCombineAsyncasynchron 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<...>.