{}
run-icon
Main.java
import static java.util.concurrent.TimeUnit.SECONDS; import java.util.concurrent.Executors; import java.time.Instant; public class MyClass { static int func1() throws Exception { SECONDS.sleep(3); return 1; } static int func2() throws Exception { SECONDS.sleep(5); return 2; } public static void main(String args[]) throws Exception { System.out.println(Instant.now()); try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { var r1 = executor.submit(() -> func1()); var r2 = executor.submit(() -> func2()); System.out.println(r1.get() + r2.get()); } System.out.println(Instant.now()); } }
Output