Могу ли я изменить java.util.concurrent.locks.Lock на java.util.concurrent.locks.ReentrantReadWriteLock; - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть метод, который создает блокировку.

ReadWriteLock  lock = new ReentrantReadWriteLock();

Затем я передаю этот объект в метод с использованием интерфейса блокировки.

method(Lock lock)

внутри метода, я просто делаю следующее.

final ReentrantReadWriteLock currentLock = (ReentrantReadWriteLock) lock;

1 Ответ

1 голос
/ 30 ноября 2011

ReentrantReadWriteLock не является блокировкой. Он содержит две взаимосвязанные блокировки: блокировку чтения и блокировку записи. Вы можете передать любой из них, но не можете вернуть исходный ReentrantReadWriteLock.

...