扫码阅读
手机扫码阅读
Java 虚拟线程
181 2024-08-23
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:Java 虚拟线程
文章来源:
DevXTalk
扫码关注公众号
Java 虚拟线程摘要
概述
Java虚拟线程是解决传统线程资源消耗大的问题的轻量级实现。虚拟线程在JVM层面上管理,使用较少的系统资源,允许在一个或多个底层操作系统线程上运行。JEP 444将虚拟线程的功能纳入JDK 21,基于先前版本的反馈进行了最终定稿。
平台线程与虚拟线程
- 平台线程是对操作系统线程的包装,具有较大的线程堆栈和资源需求,适用于运行所有类型的任务。
- 虚拟线程作为轻量级线程,不绑定特定操作系统线程,可以在操作系统线程上运行Java代码,适用于执行阻塞I/O操作的任务。
使用虚拟线程的理由
虚拟线程在高并发高吞吐量的应用程序中提供规模扩展,适合处理许多执行阻塞I/O操作的并发任务,而不是提高速度。
使用虚拟线程
Java对Thread类进行了改造,提供了静态工厂方法创建平台线程和虚拟线程。线程池支持虚拟线程,通过Executors.newVirtualThreadPerTaskExecutor()创建。
平台线程与虚拟线程的性能和资源占用对比
性能测试显示虚拟线程在执行大量短任务时性能显著提升,并且资源占用测试表明在创建大量线程时虚拟线程不会占据大量内存空间。
虚拟线程调度器
JDK的虚拟线程调度器类似于ForkJoinPool,运行在FIFO模式下,可以调整并行数量。JVM通过mount和unmount操作在平台线程和虚拟线程之间进行调度。
虚拟线程适用场景
虚拟线程适用于处理大量短时计算任务和IO阻塞等待处理的场景,但对于运算密集型任务,由于切换和挂起开销,不建议使用虚拟线程。
想要了解更多内容?
查看原文:Java 虚拟线程
文章来源:
DevXTalk
扫码关注公众号
DevXTalk的其他文章
速查2024上半年软考电子证书已出!
速查2024上半年软考电子证书已出!2024年上半年计算机技术与软件专业技术资格考试的电子证书现已开放查询!
都 2024 年了还只会 MySQL 么?OceanBase 了解一下
都 2024 年了还只会 MySQL 么?
Sora 给世界亿点点震撼
Sora 给世界亿点点震撼2月16日,OpenAI最新的Sora大模型发布,可以让用户仅通过输入一句句子,就可
Linux OOM Killer:一次可怕的内核事件
Linux OOM Killer:一次可怕的内核事件工作原理Linux系统中的OOM Killer是一个内核线
软考系统架构师考试考点整理就看这一篇
软考系统架构师考试考点整理就看这一篇最近软考成绩出来了不少同学与笔者沟通,聊到软考现在越来越难了,考了两三次都
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线