From 6e129de66ce8d2890084e7e266f39f050808b706 Mon Sep 17 00:00:00 2001 From: Sandro Leuchter Date: Sat, 20 Jun 2026 09:24:08 +0000 Subject: [PATCH] Add structured concurrency example for prime generation (classless, instance-main, IO.println) --- .../src/main/java/pp/structuredPrime.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/pp.09.02-StructuredConcurrency/src/main/java/pp/structuredPrime.java diff --git a/src/pp.09.02-StructuredConcurrency/src/main/java/pp/structuredPrime.java b/src/pp.09.02-StructuredConcurrency/src/main/java/pp/structuredPrime.java new file mode 100644 index 0000000..aabfa4e --- /dev/null +++ b/src/pp.09.02-StructuredConcurrency/src/main/java/pp/structuredPrime.java @@ -0,0 +1,14 @@ +import java.util.concurrent.StructuredTaskScope.Joiner; + +BigInteger parallelPrime(int bitLength) throws InterruptedException { + try (var scope = StructuredTaskScope.open(Joiner.anySuccessfulResultOrThrow())) { + for (var i = 0; i < ForkJoinPool.commonPool().getParallelism(); i++) { + scope.fork(() -> BigInteger.probablePrime(bitLength, ThreadLocalRandom.current())); + } + return scope.join(); + } +} + +void main() throws InterruptedException { + IO.println(parallelPrime(4096)); +}