Разблокировка блокировки принадлежащей другому потоку java
У меня есть LockManager, который управляет блокировками нескольких потоков. Иногда темы - плохие парни, и я должен убить их и попросить LockManager снять все их блокировки. Однако, поскольку я использую ReentrantLock в Java, это невозможно, я не могу разблокировать блокировку, принадлежащую другому потоку.
Я вынужден использовать замки (не могу использовать семафоры, это точка домашней работы). Есть ли реализация Java Lock, которая позволяет мне разблокировать блокировки, принадлежащие другим потокам?
Пока что я рассмотрел следующие варианты:
повторная реализация ReentrantLock таким образом, который позволяет мне сделать этоСделать какое-то отображение между семафорами и ReentrantLocksДополнительные источники вы можете найти полезными:
Блокировка с повторным входом - разблокировка из другого потокаРазблокировка блокировки из потока, который нене владеете этим или перепроектируете, чтобы избежать этого?