限企业项目,生产环境。

用过的彦祖分享下使用方法、性能收益、踩过的坑啥的
举报· 210 次点击
登录 注册 站外分享
1 条回复  
sagaxu 初学 昨天 23:30
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()
返回顶部