This is the demo code for the HappyCoders.eu article Structured Concurrency with Java.
It shows how to run three tasks in parallel using the old ExecutorService and the new StructuredTaskScope.
You need Java 21, available for download here.
Neither Maven nor IntelliJ support Java 21 at this time (June 2023).
Therefore, you have to compile the application manually:
javac --enable-preview --source 21 -d target/classes src/main/java/eu/happycoders/demo/util/*.java src/main/java/eu/happycoders/demo/model/*.java src/main/java/eu/happycoders/demo/*.java
And then run the three demos like this:
java -cp target/classes eu.happycoders.demo.ExecutorServiceDemo
java -cp target/classes --enable-preview eu.happycoders.demo.StructuredConcurrencyDemo
java -cp target/classes --enable-preview eu.happycoders.demo.ShutdownOnFailureDemo
java -cp target/classes --enable-preview eu.happycoders.demo.ShutdownOnSuccessDemo
java -cp target/classes --enable-preview eu.happycoders.demo.CombinedWeatherInfoDemo
java -cp target/classes --enable-preview eu.happycoders.demo.StructuredConcurrencyWithScopedValueDemo