Java中的偏向锁定

Java中的偏向锁定,第1张

Java中的偏向锁定

本质上,如果您的对象仅由一个线程锁定,则JVM可以进行优化,并将该对象“偏向”该线程,以使对该对象进行后续的原子 *** 作不会产生同步开销。我想这通常是针对过于保守的代码,该代码对对象执行锁定而从未将它们暴露给另一个线程。实际的同步开销只会在另一个线程尝试获取该对象的锁时才起作用。

在Java 6中,默认情况下处于启用状态。

-XX:+
UseBiasedLocking启用一项技术,以提高无竞争的同步性能。一个对象被“偏向”线程,该线程首先通过Monitorenter字节码或同步方法调用来获取其监视器。在多处理器计算机上,该线程执行的后续与监视器相关的 *** 作相对要快得多。启用此标志后,某些具有大量无竞争的同步的应用程序可能会实现显着的加速。尽管已尝试将负面影响降到最低,但某些具有某些锁定模式的应用程序可能会变慢。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存