【发布时间】:2010-04-25 13:27:51
【问题描述】:
我一直在寻找这个问题的答案,但没有快乐。在 Java 中,使用 ReentrantReadWriteLock 创建的锁是否等同于获取 readLock.lock() 和 writeLock.lock() 返回的读写锁?换句话说,我是否可以期望通过在 ReentrantReadWriteLock 上同步来请求和持有与 ReentrantReadWriteLock 关联的读写锁?
我的直觉说“不”,因为任何对象都可以用于同步。我认为 ReentrantReadWriteLock 不会有特殊行为。但是,特殊行为是我可能不知道的极端情况。
谢谢, 托德
【问题讨论】:
-
通过源码查看
ReentrantReadWriteLock的内在锁似乎对readLock和writeLock没有任何影响。所以你的直觉似乎是对的。 -
@binil 如果您发表评论作为答案,我会选择它。虽然另一个发布的答案在技术上是正确的,但它并没有直接回答我的问题。谢谢。
标签: java concurrency locking