jdk20-虚拟线程简单了解

这篇具有很好参考价值的文章主要介绍了jdk20-虚拟线程简单了解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

普通线程

  1. JDK中的普通线程和操作系统线程是一对一关系的,存在映射关系;
  2. 由操作系统进行调度,线程过多,会引起操作系统频繁调度,导致线程上下文切换太过频繁,反而会降低系统性能;
  3. 线程越多,占用内存越多;
  4. 进程可创建的线程是有限的,会有瓶颈;
    普通线程也被称为平台线程;
    jdk20-虚拟线程简单了解

虚拟线程(Virtual Thread)

虚拟线程由JDK进行调度, JDK中每个平台线程可以运行不同的虚拟线程;
一个虚拟线程在不同时间段可在多个平台线程上中运行;
一个平台线程在不同时间段可以运行多个虚拟线程;
一个平台线程在同一时间段只能运行一个虚拟线程;
可以大量创建,例如十万级别、百万级别,而不会占据大量内存;

jdk20-虚拟线程简单了解

操作系统相关

  1. jdk的平台线程和操作系统的线程处于两钟不同的状态,前者属于用户态, 后者属于内核态, 虽然jdk的平台线程和os的线程存在映射关系, 但是操作系统调度线程后,需要从内核态切换到用户态,若JDK创建大量平台线程,这个状态切换过程是会耗费时间;

  2. jdk实现虚拟线程、虚拟线程是用户进程中,属于用户态,由JDK调度,因此不存在状态切换,性能上会有所提高,这种在操作系统中好像被称为“协程”。文章来源地址https://www.toymoban.com/news/detail-439777.html

到了这里,关于jdk20-虚拟线程简单了解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JDK21】详解虚拟线程

    目录 1.概述 2.虚拟线程是为了解决哪些问题 2.1.线程切换的巨大代价 2.2.哪些情况会造成线程的切换 2.3.线程资源是有限的 3.虚拟线程 4.适用场景 你发任你发,我用JAVA8?JDK21可能要对这句话say no了。 现在Oracle JDK是每4个版本,推出一个长期支持版本,JDK21就是前段时间发布的最

    2024年02月05日
    浏览(41)
  • 聊聊JDK19特性之虚拟线程

    在读《深入理解JVM虚拟机》这本书前两章的时候整理了JDK从1.0到最新版本发展史,其中记录了JDK这么多年来演进过程中的一些趣闻及引人注目的一些特性,在调研JDK19新增特性的时候了解到了虚拟线程这个概念,于是对虚拟线程进行学习整理内容如下。 虚拟线程(Virtual Thread

    2024年02月08日
    浏览(36)
  • jdk21 虚拟线程原理及使用分享

    jdk21已于北京时间9月19日21点正式发布, 其中引人注目的就是虚拟线程(Virtual Thread)随之正式发布, 不再是此前jdk19、jdk20中的预览版本。 平台线程 :java传统的线程是对系统线程的包装,为了区别于虚拟线程,因此将通过传统方式实现的线程叫做平台线程(Platform Thread) 虚拟线程

    2024年02月04日
    浏览(37)
  • JDK21最终版协程实现之虚拟线程

    JDK9 后的版本你觉得没必要折腾,我也认可,但是JDK21有必要关注。因为 JDK21 引入全新的并发编程模式。 一直沽名钓誉的GoLang吹得最厉害的就是协程了。JDK21 中就在这方面做了很大的改进,让Java并发编程变得更简单一点,更丝滑一点。 之前写过JDK21 Feature。 Virtual Threads 、

    2024年02月08日
    浏览(58)
  • JDK21中虚拟线程到底是什么?看完便知

    本文涉及到的技术:虚拟线程、结构化并发、线程池、TheadLocal,对原理感兴趣的可以直接跳到原理部分。 虚拟线程是JDK19中引入的,JDK21正式发布,我们先来看看虚拟线程的几种用法,然后再来分析底层实现原理。 先定义一个Runnable: 通过观察输出结果,就能知道当前运行

    2024年02月08日
    浏览(43)
  • 响应式编程又变天了?看JDK21虚拟线程如何颠覆!

    本文解释为啥会有响应式编程,为什么它在开发者中不太受欢迎,以及引入 Java 虚拟线程后它可能最终会消失。 命令式风格编程一直深受开发者喜爱,如 if-then-else、while 循环、函数和代码块等结构使代码易理解、调试,异常易追踪。然而,像所有好的东西一样,通常也有问

    2024年02月05日
    浏览(33)
  • JDK 21预告:虚拟线程正式发布及十多项新特性

    Java 21进入发布候选阶段,其中包括15个最终特性,包括虚拟线程、分代Z垃圾收集器和密钥封装机制API。 JDK21计划于9月19日作为Oracle标准Java实现的下一个LTS版本发布,已进入发布候选(RC)阶段。Java 21将具有15个新特性,之前提议的第16个特性实验性Shenandoah垃圾收集器已在6月被舍

    2024年02月10日
    浏览(42)
  • 再见了Future,图解JDK21虚拟线程的结构化并发

    Java为我们提供了许多启动线程和管理线程的方法。在本文中,我们将介绍一些在Java中进行并发编程的选项。我们将介绍 结构化并发 的概念,然后讨论 Java 21 中一组预览类——它使将任务拆分为子任务、收集结果并对其进行操作变得非常容易,而且不会不小心留下任何挂起的

    2024年02月05日
    浏览(56)
  • unity实现简单的摄像机震动效果(包括普通摄像机和虚拟摄像机)

    用代码实现摄像机简单的震动效果

    2024年02月12日
    浏览(42)
  • 多线程的最最简单的基本了解

    在学习完常规的语法后,我们将进入下一步的学习,而多线程则是被大多数人认为的下一步的学习目标,因为在有了基础的语法大框架后我们都有了对编程的一个基本的认知,而多线程则是开始有了一定的深度。 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定

    2024年02月05日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包