CompletableFuture 结合 java21 虚线程

try( ExecutorService executorService = Executors.newVirtualThreadPerTaskExecutor() ) {
            List<CompletableFuture<Void>> f = list.stream().map(item ->
                    CompletableFuture.runAsync(() -> {
                        try {
                            processOrder(item);
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                    }, executorService)
            ).toList();
            CompletableFuture.allOf(f.toArray(new CompletableFuture[0])).join();
}

使用 Executors.newVirtualThreadPerTaskExecutor() 作为 CompletableFuture.runAsync的 Executor 即可。对于老代码无痛更改