我正在将带有可重入锁的代码转换为印章锁。该代码由一个场景组成,readlock
如下writelock
例所示。
private final ReadWriteLock lock = new ReentrantReadWriteLock();
A() {
lock.writeLock().lock();
...
B();
...
}
B () {
lock.readLock().lock();
...
}
邮票锁不可重入。然后,如果我更改readLock()
为in stamp locks,则可能会出现死锁情况。tryOptimisticRead()
writeLock()
writeLock()
因此,我想知道如何使用邮票锁来处理这种情况。