您现在的位置是:首页 > 文章详情

Oracle 致力解决 Java 虚拟线程“Pinning”问题

日期:2024-02-23点击:66

虚拟线程在 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 邮件列表 报告或反馈问题。

原文链接:https://www.oschina.net/news/279954/java-virtual-threads-pinning-issue
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章