假设一个线程多次获取资源上的可重入锁并死掉。 资源会发生什么? 另一个客户端可以访问该资源吗?
答案 0 :(得分:3)
示范证明:
public static void main(String[] args) throws InterruptedException {
final ReentrantLock lock = new ReentrantLock();
final Thread t = new Thread(()->lock.lock());
t.start();
t.join();
System.out.println(t.isAlive());
System.out.println(lock.tryLock());
}
打印
false
false
答案 1 :(得分:0)
对我来说听起来像是经典的僵局。如果所有者没有释放锁定 - 它将永远保持锁定并为所有人保留。