springboot虚拟线程(jdk21,springboot3.2.0)

发布时间 2023-12-14 08:32:10作者: 五官一体即忢

1. 什么是虚拟线程

虚拟线程是JDK21版本正式发布的一个新特性。虚拟线程和平台线程主要区别在于,虚拟线程在运行周期内不依赖操作系统线程:它们与硬件脱钩,因此被称为“虚拟”。这种解耦是由JVM提供的抽象层赋予的。

虚拟线程的运行成本远低于平台线程。它们消耗的内存要少得多。这就是为什么我们可以创建数百万个虚拟线程而不会出现内存不足的问题,而标准平台(或内核)线程只能创建数百个。

因此,我们可以无需依赖异步代码即可管理高度可扩展的应用程序。

2. 如何使用

配置开启虚拟线程

spring:
  threads:
    virtual:
      enabled: true

gitee源码

项目改用虚拟线程后,HTTP请求降低30%的耗时,用户体验更佳。