内容提要
OpenJDK质量小组正在推广使用OpenJDK构建测试FOSS项目,以提高发布质量。Loom项目发布了新的早期访问构建,改进了虚拟线程中的对象监视器实现,旨在防止虚拟线程在特定情况下锁定其承载线程。Loom团队希望通过测试这些构建来评估可靠性和性能,并寻求开发者的反馈。
延伸解读
虚拟线程固定问题的改进
新构建改进了对象监视器实现,旨在防止虚拟线程在进入同步方法或语句、在同步方法中停车(如套接字I/O)以及调用Object.wait时固定其承载线程。其中Object.wait/定时等待的变更是自上一版Loom早期访问构建以来的主要变化。这有助于提升虚拟线程在同步场景下的可伸缩性。
测试重点与性能现状
Loom团队希望开发者使用已知使用虚拟线程的代码和“高度同步”的库来测试这些构建,以评估可靠性和性能。当前重点在于功能性和可靠性,部分场景的性能尚未完全达到阻塞在j.u.concurrent锁和条件对象上的水平。因此,现阶段不宜将性能作为主要评估指标。
诊断工具的变化
JFR事件仍可用于识别剩余的固定、停车或类初始化器阻塞等情况。但系统属性jdk.tracePinnedThreads不再输出任何内容,此前它用于在线程被固定时打印堆栈跟踪。开发者需调整诊断方式,依赖JFR事件进行问题定位。
反馈渠道与参与方式
Loom团队寻求开发者反馈,可通过电子邮件发送至Loom邮件列表(需订阅)。OpenJDK质量小组推广使用OpenJDK构建测试FOSS项目,以提升发布质量。参与测试有助于发现潜在问题,推动虚拟线程功能的完善。
Q&A
Loom项目的新早期访问构建有什么改进?
新构建改进了虚拟线程中的对象监视器实现,旨在防止虚拟线程在特定情况下锁定其承载线程。
OpenJDK质量小组的推广目标是什么?
OpenJDK质量小组推广使用OpenJDK构建测试FOSS项目,以提高发布质量。
Loom团队希望开发者如何参与测试?
Loom团队希望开发者通过测试新构建,评估其可靠性和性能,并提供反馈。
新构建的性能与传统锁相比如何?
目前新构建的性能尚未完全达到与传统锁和条件对象相同的水平。
Loom项目的主要测试目标是什么?
主要目标是评估功能性和可靠性。
如何获取Loom项目的反馈信息?
反馈可以通过电子邮件发送到Loom邮件列表,需先订阅。