讲一下 synchronized 关键字的底层原理 ?

讲一下 synchronized 关键字的底层原理 ?,第1张

讲一下 synchronized 关键字的底层原理 ?

synchronized 是由一对 monitorenter/monitorexit 指令实现的,monitor 对象是同步的基本实现单元。

在 Java 6 之前,monitor 的实现完全是依靠 *** 作系统内部的互斥锁,因为需要进行用户态到内核态的切换,所以同步 *** 作是一个无差别的重量级 *** 作,性能也很低。

但在 Java 6 的时候,Java 虚拟机 对此进行了大刀阔斧地改进,提供了三种不同的 monitor 实现,也就是常说的三种不同的锁:偏向锁(Biased Locking)、轻量级锁和重量级锁,大大改进了其性能。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4829960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存