虚拟线程兑现了它们的承诺:使并发易于使用。
变化很小,您可以使用 newVirtualThreadPerTaskExecutor 代替经典的 ThreadPool。就这样!
感谢 Java 19 现在可以使用轻量级并发模型(类似于 Kotlin 中的协程)创建高吞吐量应用程序。这将通过虚拟线程来完成。
Spring Boot 已经支持 Java 19,但我们必须要有耐心,因为仍处于预览模式。
阻塞任务
public Integer call() throws InterruptedException {
Thread.sleep(1000);
return number;
}
进程1_000阻塞任务
public void process(String threadPoolType) throws InterruptedException, ExecutionException {
try (ExecutorService executor = executorService) {
List<Task> tasks = IntStream.range(0, 1_000)
.mapToObj(Task::new)
.collect(C