当前位置:首页 > 科技  > 软件

为什么Java官方不推荐池化虚拟线程?

来源: 责编: 时间:2023-09-28 10:06:54 460观看
导读一句话定义虚拟线程是在用户空间(而非内核)中实现的轻量级线程,其创建、调度和销毁由应用程序自己管理,而不依赖于操作系统。与传统线程区别传统的线程(也称为物理线程或内核线程)由操作系统内核调度和管理,每个线程都需要分

一句话定义

虚拟线程是在用户空间(而非内核)中实现的轻量级线程,其创建、调度和销毁由应用程序自己管理,而不依赖于操作系统。mtk28资讯网——每日最新资讯28at.com

与传统线程区别

传统的线程(也称为物理线程或内核线程)由操作系统内核调度和管理,每个线程都需要分配独立的内存栈和寄存器上下文。这种线程调度的开销较大,并且线程数量受限于操作系统的限制。mtk28资讯网——每日最新资讯28at.com

mtk28资讯网——每日最新资讯28at.com

实现方式

Java 虚拟线程使用的是用户态线程实现,用户态线程是由运行时库实现的线程模型,应用程序可以在用户空间中创建和管理多个线程,而无需涉及操作系统内核。mtk28资讯网——每日最新资讯28at.com

mtk28资讯网——每日最新资讯28at.com

特点

虚拟线程具有以下优点:mtk28资讯网——每日最新资讯28at.com

  1. 轻量级:虚拟线程的创建和切换开销相对较低,因为它们在用户空间中实现,不需要操作系统的干预。
  2. 高并发性:虚拟线程可以实现更高级别的并发性,应用程序可以创建大量的虚拟线程,而不受操作系统线程数量的限制。
  3. 更好的资源利用率:由于虚拟线程是在用户空间中实现的,可以使用更少的物理线程来完成相同数量的任务,从而提供更好的资源利用率。
  4. 易于编程:相对于传统线程,虚拟线程的编程模型更简单、直观,可以通过协程或者用户态线程库来实现。

官方使用建议

开发人员通常会将应用程序代码从传统的基于线程池的ExecutorService迁移到基于虚拟线程的ExecutorService。线程池就像其他资源池一样,旨在共享昂贵的资源,但虚拟线程并不昂贵,因此无需对它们进行池化。mtk28资讯网——每日最新资讯28at.com

mtk28资讯网——每日最新资讯28at.com

官方示例:mtk28资讯网——每日最新资讯28at.com

try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {    IntStream.range(0, 10_000).forEach(i -> {        executor.submit(() -> {            Thread.sleep(Duration.ofSeconds(1));            return i;        });    });}  // executor.close() is called implicitly, and waits


mtk28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-11826-0.html为什么Java官方不推荐池化虚拟线程?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 2023年前端流行什么技术和框架了?

下一篇: 防御性编码的意识与实践

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • 卢伟冰长文解析K60至尊版 对Redmi有着里程碑式的意义

    在今天的Redmi后性能时代战略发布会结束之后,Redmi总经理卢伟冰又带来了一篇长文,详解了为什么 Redmi 要开启后性能时代?为什么选择和 MediaTek、Pixelworks 深度合作?以及后性
  • 6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    没有新品发布,自然iOS设备性能榜的上榜设备就没有什么更替,仅仅只有跑分变化而产生的排名变动,毕竟苹果新品的发布节奏就是这样的,一年下来也就几个移动端新品,不会像安卓厂商,一
  • K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • 三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    7月27日消息,据外媒报道,从三星电子所发布的财报来看,他们主要利润来源的存储芯片业务在今年二季度仍不乐观,营收同比仍在大幅下滑,所在的设备解决方案
  • iQOO Neo8系列或定档5月23日:首发天玑9200+ 安卓跑分王者

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
  • 上海举办人工智能大会活动,建设人工智能新高地

    人工智能大会在上海浦江两岸隆重拉开帷幕,人工智能新技术、新产品、新应用、新理念集中亮相。8月30日晚,作为大会的特色活动之一的上海人工智能发展盛典人工
Top