最近尝试了 Java 21 的虚拟线程(Virtual Threads),感觉性能提升很明显。
主要特点
- 轻量级线程,可以创建数百万个
- 自动管理,无需线程池
- 兼容现有代码
简单示例
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
IntStream.range(0, 10_000).forEach(i -> {
executor.submit(() -> {
Thread.sleep(Duration.ofSeconds(1));
return i;
});
});
}
大家有在生产环境使用吗?欢迎分享经验!