当前位置:首页 > 每日看点

JDK21中,虚拟线程能够完全代替线程吗?

卡卷网1年前 (2025-01-09)每日看点260

<>JDK21的虚拟线程(VirtualThread)在生产环境中不建议使用,等下一个LTS版本。

JDK21的实现,虚拟线程执行synchronized代码块可能会pin住线程。虚拟线程进入在synchronized代码块里被阻塞,执行虚拟线程的线程本应该切换执行其它虚拟线程,继续工作。但是JDK21的实现,在这种情况下并不能切换成其它虚拟线程,导致线程被阻塞。而JVM默认只会启用少量的线程来执行虚拟线程,可能导致(负责执行虚拟线程的)线程全部被阻塞,cpu啥都不执行,就傻等着。特别是等待IO响应等耗时的locking作。

如果代码里没有synchronized关键(可以是用ReentrantLock重写synchronized的代码),或者有synchronized关键字,但是synchronized代码里,没有长时间的阻塞调用,没有频繁的阻塞调用,这种情况下生产环境也可以使用虚拟线程。但是,这种情况一般难以保证。我们自己写的代码可以特别注意,但是很难保证其它组员,很难保证依赖的包里没有。

文档中关于虚拟线程synchronizedpinning问题的说明:CoreLiraries

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/7692.html

分享给朋友:

相关文章

需要做一个微信小程序项目,大公司价格太高怎么办?

需要做一个微信小程序项目,大公司价格太高怎么办?

一个小程序制作开发多少钱 构建一个微信小程序大概需要花费多少资金? 一、自主开发如果选择自主开发,这里面门道可不少。 微信小程序认证费用: 300 /年 域名费用: 30 - 80 /年 服务器费用: 600 - 3000 /年 这么一…

国内比较好用的快速开发平台有哪些?

国内比较好用的快速开发平台有哪些?

低代码/零代码 快速开发平台,一直是近年来很热的一个词,各大巨头的纷纷加入也给这个赛道。题主需要一个能二次开发的低代码快速开发平台,可以试试JVS低代码(私有化)。 JVS低代码前端采用Vuex框架和Element-ui组件库,后端则基于S…

为什么有人觉得华为mate60只值2000?

为什么有人觉得华为mate60只值2000?

你以为买Mate60的人真的傻?真的那么爱国? 国庆前,我家那傻子加价800多买了一台Mate60,当时还被我骂他是傻子。 可是他说一回到公司就被老板同事朋友看到,拿去反复查看,都在惊叹他这么快就买到新机。 跟亲戚朋友聚会,别人一看就知道他…

年收入40万的网文作者,是不是可以吊打任何职业了?

哈,我二十岁的时候也这么狂。 想当年,我一个大二学生,在宿舍里写出一本大精品,月入两万五,在学校里走路都是横着的,游戏卡池一开,看都不看,氪到出货为止。iPhone12pro一发布直接买,还买了个iPad Pro,都是官网直接买的,Appl…

抖音有3,4万粉丝能挣多少钱?

抖音有3,4万粉丝能挣多少钱?

如果在抖音有100万粉丝,一个月能赚多少钱你知道吗?直接说答案: 抖音有100万粉丝,可能1分钱也赚不到...那视频有100万点赞,能赚多少钱?可能也是1分钱都赚不到... 新手需要通过抖音变现 [文章: 做为新手玩抖音要注意什么?怎样才能…

如何评价小米14这款手机?

如何评价小米14这款手机?

本来小米 14 和 14 Pro 是打算放一起拆的,但是因为时间关系,实在凑不到一起了。所以今天给大家补一篇详细的图文拆解,基本信息都有了,如有遗漏可以在评论区留言。 双卡上下放置,卡托材质为金属 + 塑料,内侧有防尘防水的胶圈。…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。