V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ljzxloaf
V2EX  ›  Java

2025 年了,你们用上 Virtual Threads 了吗

  •  
  •   ljzxloaf · 23 小时 29 分钟前 · 1176 次点击
    限企业项目,生产环境。

    用过的彦祖分享下使用方法、性能收益、踩过的坑啥的
    2 条回复    2025-01-08 13:39:08 +08:00
    sagaxu
        1
    sagaxu  
       22 小时 57 分钟前
    https://openjdk.org/jeps/444#Pinning

    There are two scenarios in which a virtual thread cannot be unmounted during blocking operations because it is pinned to its carrier:

    When it executes code inside a synchronized block or method, or
    When it executes a native method or a foreign function.

    第一个坑: https://openjdk.org/jeps/491 ,首个解决此问题的 JDK LTS 版本是 25 。
    第二个坑:目前没有办法根治,知名库如 netty 的 native 代码应该能比较快发现和解决。

    所以还是再等等吧,反正已经用上 Kotlin 协程了,等 virtual threads 成熟了拿来当阻塞 IO 的 dispatcher 用
    Executors.newVirtualThreadPerTaskExecutor().asCoroutineDispatcher()
    niubiman
        2
    niubiman  
       8 小时 48 分钟前
    java 真是遥遥领先
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:27 · PVG 22:27 · LAX 06:27 · JFK 09:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.