最近对虚拟线程比较感兴趣,发现在quarkus中使用@RunOnVirtualThread采用虚拟线程时,使用了Mysql-Connector-J驱动会有Thread-Pinned的问题,原因可以参考
Virtual Threads。 添加Jvm参数 -Djdk.tracePinnedThreads=short 可以辅助发现虚拟线程Pinned的问题。
于是在官方pull里发现了一个已经关闭的提交,这个提交将所有的synchronized关键字都替换成了java.util.concurrent.locks.ReentrantLock,可以参考PR-95
在截图里官方已经接收了这个提交,但是要等到9.0才能发布

大约 3 分钟