-1

假设一个线程多次获取资源的可重入锁并死掉。资源会怎样?其他客户端可以访问该资源吗?

4

2 回答 2

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
于 2014-10-10T14:00:43.297 回答
0

对我来说,这听起来像是一个经典的僵局。如果锁不是由所有者释放的 - 它将永远保持锁定状态并且为所有人。

于 2014-10-10T13:43:43.357 回答