Oracle 致力解决 Java 虚拟线程“Pinning”问题
虚拟线程在 2023 年 9 月发布的 JDK 21 中正式成为一项稳定功能。该功能在 Java 生态系统中反响极佳,但仍存在一些痛点。Oracle 日前在 Inside Java 网站上详细介绍了虚拟线程的“Pinning”问题。
最常见的两种情况是:(a) 虚拟线程在 synchronized method 中驻留(如执行 socket I/O);(b) 虚拟线程阻塞进入 synchronized method,因为对象的相关监视器被另一个线程持有。
在这两种情况下,载体或本地线程都不会被释放去做其他工作。因此可能会影响性能和可扩展性,并可能在某些情况下导致饥饿和死锁。官方最近发布的一个Virtual Threads Next Steps 视频中则更详细地解释了其中的原因,并讨论了一些潜在的解决方案。
项目团队正在努力解决这些问题。Java Project Loom 的新早期访问版本引入了对对象监视器实现的更改,但不适用这两种常见情况。因此 Loom 团队正在寻求用户的帮助,以测试这些更新的对象监控器在使用虚拟线程的代码和大量同步的库中的可靠性和性能。可通过 Loom 邮件列表 报告或反馈问题。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开源日报 | 目前的人工智能技术连猫的智能水平都没达到
欢迎阅读 OSCHINA 编辑部出品的开源日报,每天更新一期。 # 2024.2.22 今日要点 OpenSource Daily 谷歌发布轻量级开源大语言模型 Gemma Gemma 是一款轻量级、先进的开源模型,供开发者和研究人员用于 AI 构建。Gemma 模型家族包括 2B(20 亿参数)和 7B(70 亿参数)两种尺寸,能够在不同的设备类型上运行,包括笔记本电脑、桌面电脑、IoT 设备、移动设备和云端。 夜莺监控 V7 第一个 beta 版本 夜莺项目从 2024 开始开发 V7 版本,重点做体验优化,V7 和 V6 版本兼容可以平滑升级(V6 升级到 V7 只需要替换一下二进制重启即可,如果是容器部署,只需要更新镜像并重启),第一个 beta 的优化项包括: 全站暗黑主题 优化边缘机房机器失联告警的实现逻辑,真正做到边缘机房告警自闭环 优化内置大盘、内置告警规则的列表页面 UI 全局回调地址页面展示优化,增加详尽的文档提示信息 今日观察 - 微博高飞 - 微博凤凰网科技 今日推荐 开源之声 每日项目榜 GitHub Trending 在线阅读完整日报内容,访问:开源日报第 ...
- 下一篇
一文带你了解容器探针
本文分享自华为云社区《Kubernetes探针原理介绍》,作者: 可以交个朋友。 简介 容器探针(Container Probes)是一种机制,由 kubelet 对容器执行定期的探查,从而获取容器的状态。探针的类型有三种: 启动探针(Startup Probe) 存活探针(Liveness Probe) 就绪探针(Readiness Probe) 探针功能 启动探针 启动探针(StartupProbe)主要用于检测容器内的应用是否已经成功启动并完成初始化任务。它的主要作用有以下几点: 延缓其他探针生效: 在容器启动初期,启动探针先于存活探针(LivenessProbe)和就绪探针(ReadinessProbe)生效。当启动探针配置存在时,kubelet 不会执行存活和就绪探针,直到启动探针成功为止。这对于某些启动时间较长或者启动过程中有复杂初始化序列的应用程序来说非常重要,可以避免在应用还未完全启动时就被误判为不健康或就绪,进而被错误地重启或流量过早涌入。 防止频繁重启: 若应用启动期间,存活探针或就绪探针就开始工作,而此时应用可能还没有完全启动成功,这两个探针可能会因为应用未能及时...
相关文章
文章评论
共有0条评论来说两句吧...