Является ли блокировка, возвращаемая ReentrantReadWriteLock, эквивалентной блокировке чтения и записи? - PullRequest
0 голосов
/ 25 апреля 2010

Я искал ответ на этот вопрос, но без радости. В Java использование блокировки, созданной ReentrantReadWriteLock, эквивалентно получению блокировок чтения и записи, возвращаемых readLock.lock () и writeLock.lock ()? Другими словами, можно ли ожидать, что блокировки чтения и записи, связанные с ReentrantReadWriteLock, будут запрошены и удержаны путем синхронизации с ReentrantReadWriteLock?

Моя интуиция говорит «нет», поскольку любой объект может быть использован для синхронизации. Я не думаю, что было бы специальное поведение для ReentrantReadWriteLock. Тем не менее, особое поведение - это тот случай, о котором я могу не знать.

Спасибо, Тодд

1 Ответ

1 голос
/ 25 апреля 2010

java.util.concurrent.locks и поддержка блокировки в языке Java - это совершенно разные механизмы.

Некоторые инструменты статического анализа помечают попытки использования synchronized на Lock объекте.

...