Java 在同一个对象上拥有多个锁有什么用

Java 在同一个对象上拥有多个锁有什么用,java,multithreading,reentrantlock,Java,Multithreading,Reentrantlock,在介绍ReEntrantLock的优点时,其中一个优点是: 使用ReentrantLock,线程可以更多地获取同一对象上的锁 不止一次 我遇到了这个答案,它表明get(index)中会出现死锁。如果我们没有在get(index)上使用任何同步,有人能解释一下死锁是如何发生的吗 这太奇怪了,你怎么会在还没有实现的方法上死锁呢看起来像是打印错误。如果lock不后悔,那么您将在set()notget()处死锁。另外,如果使用非重入锁,每个递归同步方法也会死锁。这很奇怪,您如何在未实现的方法上死锁看起来

在介绍ReEntrantLock的优点时,其中一个优点是:

使用ReentrantLock,线程可以更多地获取同一对象上的锁 不止一次

我遇到了这个答案,它表明
get(index)
中会出现死锁。如果我们没有在
get(index)
上使用任何
同步
,有人能解释一下死锁是如何发生的吗


这太奇怪了,你怎么会在还没有实现的方法上死锁呢看起来像是打印错误。如果lock不后悔,那么您将在
set()
not
get()
处死锁。另外,如果使用非重入锁,每个递归同步方法也会死锁。这很奇怪,您如何在未实现的方法上死锁看起来像是打印错误。如果lock不后悔,那么您将在
set()
not
get()
处死锁。如果使用非重入锁,每个递归同步方法也会死锁。