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