gpt4 book ai didi

java - 内在与互斥锁

转载 作者:行者123 更新时间:2023-11-29 03:16:44 26 4
gpt4 key购买 nike

查看 Collection's SynchronizedList 的实现我认识到内部列表上的所有访问都是通过锁定包装器的最终成员“mutex”来同步的。由于所有访问都在同一个对象上同步,为什么我们不省略额外的互斥对象而只在列表本身上同步?是否仅仅是因为其他任何人都可以在该列表上同步并且我们可能会陷入僵局?我在问,因为我考虑实现一个包含两个列表的容器类。该容器提供例如.addToL1(...) 和 .addToL2(...)。在这种情况下,内部列表不可访问,因此本质上同步列表就足够了,对吗?

最佳答案

最可靠的解决方案是锁定调用者无法访问的对象。 (我们将暂时忽略反射和不安全)JDK 开发人员必须考虑任何开发人员可以使用该库做的最糟糕的事情,因为有人会这样做以及他们无法想到的事情。

但是,有时简单性是最重要的驱动因素,尤其是如果您知道谁将使用它并了解其局限性。

关于java - 内在与互斥锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122564/

26 4 0