Java 21虚拟线程在同步锁或本地方法栈帧阻塞时可能发生Pinning,导致CPU占用低但吞吐量卡死。JDK 24通过JEP 491修复了synchronized固定问题,但本地栈帧仍存在。检测可用JFR事件或线程转储,修复建议改用ReentrantLock、升级JDK或避免持锁阻塞。
JEP 491通过让阻塞的虚拟线程释放底层平台线程,提升了Java同步方法的可扩展性。该改进已集成至Java 24,并在最新的JDK 24 EA版本中可用。
JEP 491提议在JDK 24中改进Java虚拟线程的同步机制,解决“固定”问题,提升线程可扩展性。该提案允许虚拟线程在同步块中解锁,释放平台线程,从而提高并发性,简化开发者工作,避免代码重构,同时保留同步优势。
完成下面两步后,将自动完成登录并继续当前操作。