我有一个 LockManager 管理多个线程的锁。有时线程是坏孩子,我不得不杀死它们并要求 LockManager 释放它们所有的锁。但是,由于我在 java 中使用 ReentrantLock 这是不可能的,我无法解锁另一个线程拥有的锁。
我被迫使用锁(不能使用信号量,这是作业的重点)。是否有任何 Java Lock 实现允许我解锁其他线程拥有的锁?
到目前为止,我考虑的选项是:
- 以允许我这样做的方式重新实现 ReentrantLock
- 在信号量和可重入锁之间进行某种映射
您可能会发现有用的额外资源: