当前位置: 首页 > news >正文

java虚拟线程

虚拟线程(Virtual Thread)简介

虚拟线程是 JVM 自己保存和恢复执行上下文(调用栈),并在需要执行时,把它挂载到一个真实的OS 线程上运行。


JVM 对虚拟线程的工作

JVM 在虚拟线程中干了两件以前由 OS 做的事:

  1. 线程上下文管理
    保存 / 恢复调用栈
  2. 调度
    决定线程谁什么时候运行

虚拟线程想解决什么?

一句话目标:
用“同步阻塞”的写法,跑出“事件驱动 / 异步”的并发能力。

关键思路:
把“阻塞”从OS 层提升到JVM 层


什么时候发生调度?

  1. 当 RPC 没返回时,虚拟线程会被挂起并卸载
  2. 响应事件触发后,JVM 把它重新放回可运行队列,然后继续执行原来的同步代码

虚拟线程的特点

Thread vt = Thread.startVirtualThread(() -> {});

  • Thread
  • ThreadLocal
  • 调用栈
  • 可以dump
  • 可以打断

📌区别于传统线程:

  • 不绑定 OS 线程
  • 不一直占用 CPU

原理示意

JVM 内部有一组长期存活的平台线程(Carrier Threads / Platform Threads)

  • 虚拟线程在需要运行时被**挂载(mount)**到一个平台线程上;
  • 阻塞时再卸载(unmount),并不会创建或销毁平台线程。

VirtualThread
⇅ mount / unmount
Carrier Thread(Platform Thread)

OS Thread

http://www.jsqmd.com/news/311227/

相关文章:

  • 大模型推理卡顿?vLLM的PagedAttention三分钟提速
  • 普利姆算法(Prim)和克鲁斯卡尔算法(Kruskal)
  • python---哈夫曼树
  • 2026年温州云手机平台深度评估与厂商精选
  • Claude Code 深度指南:理解 Constitution、Claude、Agent 三者关系
  • 一天一个开源项目(第4篇):OpenCode - 专为终端打造的强大 AI 编程代理
  • 梦笔记20260128
  • 2026年Q1江苏口碑好的高端窗帘服务商
  • 工作流程管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • Java SpringBoot+Vue3+MyBatis 人格障碍诊断系统系统源码|前后端分离+MySQL数据库
  • 前后端分离社区养老服务平台系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • 企业级电商平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • 目前全网唯一的Autosar TLS文章
  • vue.3
  • 2026纯原榨石榴汁行业竞争格局:谁在定义健康饮品新标杆?
  • 2026年湖北武汉优质板材厂家综合评测与选型指南
  • 2026年武汉螺纹钢诚信厂家综合实力深度解析与推荐
  • 2026枣庄石榴汁标杆供货厂家深度测评与推荐报告
  • STM32(7)--FPU(TODO)
  • 我的思维模型 -- 5.工程学篇
  • 我的思维模型 -- 6.生物学篇
  • 2026现阶段安徽太阳能清洗剂、除垢剂实力厂家排行
  • 2026年纯原榨石榴汁行业五大优质企业推荐
  • 基于SpringBoot+Vue的社区养老服务平台管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • PyTorch torch.optim 优化器介绍与论文
  • 基于SpringBoot+Vue的文理医院预约挂号系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • 2026年口碑好的事业单位考试公司选哪家
  • QT安装完出现“无法找到执行档,请指定一个。”
  • 金仓数据库KingbaseES无缝替代MongoDB,实现核心业务系统平稳迁移
  • 对象存储oss