我注意到在ReentrantReadWrite锁上调用lock / unlock时,我提示有两个锁定和解锁方法。
例如,在WriteLock中,我有一个带有-75%的Lock()和另一个没有%的Lock()。这两个都有相同的文件。我试图在网上找到原因,但找不到任何解释。这只是日食中的一个错误吗?
答案 0 :(得分:2)
您可能需要仔细检查这些方法名称。
ReentrantReadWriteLock
没有Lock
方法。它有public ReentrantReadWriteLock.ReadLock readLock()
和public ReentrantReadWriteLock.WriteLock writeLock()
。这些都实现了Lock
接口并具有lock(),lockInterruptibly(),unlock()和trylock()方法。
WriteLock有一些额外的方法,因为写锁通常是独占的。