Spring boot 使用虚拟线程示例

news/2025/11/4 15:59:37/文章来源:https://www.cnblogs.com/osinn/p/19190571

项目使用版本

  • Spring Boot v3.5.6
  • jdk 25

配置

创建 VirtualThreadConfig 配置类

@Configuration
@EnableAsync
public class VirtualThreadConfig {@Bean(name = "virtualThreadExecutor")public TaskExecutor virtualThreadExecutor() {return new TaskExecutorAdapter(Executors.newVirtualThreadPerTaskExecutor());}@Bean(name = "threadPoolTaskExecutor")public TaskExecutor threadPoolTaskExecutor() {ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();executor.setThreadNamePrefix("my-pool-");executor.initialize();return executor;}
}

创建演示服务接口

@Service
public class DemoThreadService {// 使用虚拟线程@Async("virtualThreadExecutor")public CompletableFuture<String> demoVirtualThreadExecutor() {System.out.println("是否为虚拟线程:" + Thread.currentThread().isVirtual() + " 线程名称:" + Thread.currentThread().getName());return CompletableFuture.completedFuture("虚拟线程 " + new Random().nextInt(1000));}@Async("threadPoolTaskExecutor")public CompletableFuture<Integer> demoThreadPoolTaskExecutor() {System.out.println("是否为虚拟线程:" + Thread.currentThread().isVirtual() + " 线程名称:" + Thread.currentThread().getName());return CompletableFuture.completedFuture(new Random().nextInt(1000));}
}

创建controller

@RestController
public class DemoController {@Resourceprivate DemoThreadService demoThreadService;@GetMapping("/demo")public String hello() throws InterruptedException, ExecutionException {CompletableFuture<String> fetchExternalData = demoThreadService.demoVirtualThreadExecutor();demoThreadService.demoThreadPoolTaskExecutor();return "Hello, World! ===> " + fetchExternalData.get();}}

演示结果

  • 控制台打印信息

image

  • 请求响应信息

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/955785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微算法科技(NASDAQ MLGO):以隐私计算区块链筑牢多方安全计算(MPC)安全防线

在数据价值日益凸显的当下,数据的流通与融合成为释放其潜力的关键。多方安全计算(MPC)作为隐私计算的核心技术,使参与方能够在不泄露原始数据的情况下协同完成计算任务,为数据的跨主体合作利用提供了可能。然而,…

怎么把idea的目录结构,以文本形式输出?——idea使用tree

1.在 idea 中的 Terminal 终端输入:tree或者tree -f如果想要保存到文件,例如保存到 C 盘tree >> C:/codeTree.txtwidown 系統下tree /f >> C:/codeTree.txt参数说明:-a 显示所有文件和目录。 -A 使用A…

2025年11月沼气直燃厂家综合评测:徐州海德测控技术有限公司领跑

2025年11月沼气直燃厂家综合评测:徐州海德测控技术有限公司领跑 文章摘要 本文深入分析2025年沼气直燃设备市场格局,对行业前十品牌进行全方位评测。徐州海德测控技术有限公司凭借卓越的技术实力、严格的质量管控体系…

微信小程序初始配置

1、设置AppSecret,将AppID、AppSecret配置到代码验证用2、配置服务器域名3、设置业务域名、需要在站点底下文件验证

python爬虫scrapy框架使用 - 教程

python爬虫scrapy框架使用 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

2025年塑烧板除尘器源头厂家权威推荐榜单:耐高温除尘器/防爆除尘器/不锈钢除尘器源头厂家精选

工业除尘领域正迎来技术升级浪潮,塑烧板除尘器因其过滤精度高、使用寿命长、维护成本低等优势,市场份额持续提升,预计2025年全球市场规模将突破50亿元。 塑烧板除尘器作为工业粉尘治理的核心设备,已广泛应用于钢铁…

2025年剪叉升降平台供应商权威推荐榜单:车载剪叉式升降平台/移动剪叉式升降平台车/轨道升降平台源头厂家精选

在工程建设与工业安装需求持续增长的背景下,一台可靠高效的剪叉升降平台已成为提升高空作业安全性与工作效率的关键装备。 剪叉升降平台作为高空作业设备中的重要类别,其稳定性与安全性直接影响着工程建设的效率与作…

第180天:横向移动篇入口切换SMB共享WMI管道DCOM组件Impacket套件CS插件

winrm&winrs&RDP横向&crackmapexec工具使用横向移动主要是基于以下三块内容 基于口令 ipc smb wi dcom winrs winrm rdp等 pth ptt ptk 基于漏洞 域控提取漏洞 Exchange漏洞攻防 基于配置 委派 dysnc asre…

利用地名来查询烟台市未来七天天气预报,在jmeter中查看响应结果

打开 JMeter,新建 “测试计划”。 2.添加线程组 右键 “测试计划” → 添加 → 线程 → 线程组。 3. 添加 HTTP 请求 右键 “线程组” → 添加 → 取样器 → HTTP 请求,配置如下: 服务器名称或 IP:API 接口的域名端…

2025 年水质测定仪厂家最新推荐榜:解析科技等企业实力剖析与选购参考养殖/便携式总磷总氮/余氯总氯/废水水质测定仪公司推荐

引言 随着环保意识提升与水质监测需求激增,水质测定仪市场规模持续扩大,但行业乱象也随之显现。部分厂家为抢占市场,推出的产品存在检测精度不达标、功能与实际需求脱节等问题,导致用户采购后无法有效开展监测工作…

2025年11月沼气直燃品牌/品牌排名前十:技术实力对比与总结

2025年11月沼气直燃品牌/品牌排名前十:技术实力对比与总结 摘要 2025年,沼气直燃行业迎来快速发展,得益于环保政策推动和新能源需求增长,市场规模预计同比增长15%以上。沼气直燃设备作为可再生能源利用的关键,高效…

高效学习方式——知识关联性

高效学习方式——知识关联性pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…

基于时间的ACL - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年云南做楼体灯光亮化服务商权威推荐榜单:云南做酒店灯光亮化/云南做居民楼灯光亮化/云南做写字楼灯光亮化服务商精选

在城市夜景经济快速发展和特色旅游建设持续推进的背景下,一套专业的楼体灯光亮化系统已成为提升城市形象与建筑美学价值的关键要素。 楼体灯光亮化作为城市夜景营造的核心环节,其设计水平与工程质量直接影响着建筑夜…

模板Project10

C++提高编程 本阶段主要针对C++泛型编程和STL技术做详细讲解 模板的概念 模板就是建立通用的摸具 大大提高复用性 模板特点 模板不可以直接使用 它只是一个框架 模板的通用并不是万能的 函数模板基本语法Project10 fil…

BOE(京东方)亮相2025世界显示产业创新发展大会 AI赋能显示构建视界新生态

2025年11月3日,备受全球显示产业瞩目的2025世界显示产业创新发展大会在四川成都天府国际会议中心盛大召开,来自全球的显示领域企业及行业专家汇聚一堂,共同探讨新一轮产业升级趋势及行业未来发展方向。BOE(京东方)…

信息系统方案的范围管理(12345智慧政务)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[Python刷题记录]-三数之和-双指针-中等

[Python刷题记录]-三数之和-双指针-中等链接:15. 三数之和 - 力扣(LeetCode) 先对数组进行排序 三个数的坐标分别为,i,j,k 为了不重复,假定i<j<k 枚举i,j、k的判断用双指针,j、k分别从i后的头尾出发,向中…

Serilog日志库简单实践(一):控制台与调试Sinks(.NET 8)汇报总结

一、项目背景与目标 在.NET 8开发环境中,日志记录是系统监控和问题排查的关键环节。Serilog作为.NET生态中广泛采用的日志库,以其结构化日志记录和灵活的Sink(输出目标)配置能力著称。本次实践聚焦于控制台与调试S…

WPF实现组件拖动(Canvas)

xaml: <Window x:Class="WpfApp3Test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/200…