java21虚拟线程
一、代码使用虚拟线程
public String threadTest(){
//方式一
// System.out.println("测试11");
// ExecutorService executor=Executors.newVirtualThreadPerTaskExecutor();
// executor.execute(()->{
// System.out.println("测试虚拟线程");
// });
//方式二
// Thread thread=Thread.startVirtualThread(()->{
// System.out.println(2222);
// });
//方式三
Thread thread=Thread.ofVirtual().name("myThread").start(()->{
System.out.println(333);
});
return "OK";
}
二、springboot 使用虚拟线程
要在 Spring Boot 3.2 中启用虚拟线程,我们只需在 application.yml 或 application.properties 文件中设置一个属性
spring.threads.virtual.enabled=true
这个配置起到的作用:
1、Tomcat 将使用虚拟线程来处理 HTTP 请求。这意味着处理 Web 请求的应用程序代码(例如控制器中的方法)将在虚拟线程上运行。
2、调用@Async方法时,Spring MVC 的异步请求处理和 Spring WebFlux 的阻塞执行支持现在将利用虚拟线程
3、标记有@Scheduled的方法将在虚拟线程上运行