news 2026/4/15 11:02:37

java虚拟线程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 6:58:03

vue.3

1.局部注册只能在注册的组件内使用(1)创建vue文件(2)在使用的组件内导入并注册2.全局注册所有组件内都能使用(1)创建vue文件(2)main.js中进行全局注册3.组件的样式冲突scoped全局注册…

作者头像 李华
网站建设 2026/4/12 7:07:58

centos7-nvidia驱动安装及简单测试

centos7-nvidia驱动安装类别信息服务器型号Rack Mount Chassis NF5280M6CPUIntel Xeon Silver 4310 CPU 2.10GHz * 2系统版本Centos 7系统内核版本3.10.0-1160.el7.x86_64GPU型号NVIDIA A100(40G)*4Nvidia版本525.85.05CUDA版本12.0.0docker版本20.10.9…

作者头像 李华
网站建设 2026/4/10 21:00:03

BUCK-BOOST升降压电路Multisim电路仿真分析

目录 0 概述 工作过程简述 Q1 导通阶段 Q1 关断阶段 稳态输出 主要元件作用 电路特点 1 过程分析: 第一次开关闭合时 第二次Q1闭合时C1放电 2 Multisim仿真分析 占空比D=25% 占空比D=60% 摘要 本文分析了三极管型BUCK-BOOST升降压开关电源的工作原理。该电路结…

作者头像 李华
网站建设 2026/4/10 21:44:32

内存固态等大幅涨价的优势是什么?

原本电子垃圾又有了些许价值升华。 排名上升 现在有部分旧电脑重新启用。看大数据的排名结果: https://blog.csdn.net/ZhangRelay/article/details/155345614 这是去年,2025年11月28日测试的结果,2%排位,非常低端了。 预料之中的…

作者头像 李华
网站建设 2026/4/14 0:31:22

YOLOv12官版镜像训练全流程,附完整代码示例

YOLOv12官版镜像训练全流程,附完整代码示例 YOLOv12不是迭代编号的简单延续,而是一次范式跃迁——它彻底告别了卷积主干,将注意力机制作为目标检测的原生语言。当行业还在为RT-DETR的推理延迟发愁时,YOLOv12已用1.6毫秒完成一次高…

作者头像 李华