gpt4 book ai didi

java - 偏向锁定设计决策

转载 作者:行者123 更新时间:2023-11-30 10:22:02 26 4
gpt4 key购买 nike

我正在尝试了解偏向锁定背后的基本原理并将其设为默认值。自读this blog post ,即:

“由于大多数对象在其生命周期中最多被一个线程锁定,我们允许该线程将对象偏向自身”

我很困惑......为什么有人会设计一组同步的方法,只能由一个线程访问?在大多数情况下,人们专门为多线程用例设计某些构建 block ,而不是单线程用例。在这种情况下,非偏向线程的每次锁获取都以安全点为代价,这是一个巨大的开销!有人可以帮我理解我在这张照片中遗漏了什么吗?

最佳答案

原因可能是有相当数量的库和类被设计为线程安全的,但在这种情况之外仍然有用。对于 Collections 框架之前的许多类来说尤其如此。 Vector 及其子类就是一个很好的例子。如果您还考虑到大多数 Java 程序不是多线程的,那么在大多数情况下使用偏向锁定方案是一种整体改进,对于使用此类类的遗留代码尤其如此。

关于java - 偏向锁定设计决策,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47519963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com