大家好,
假设一个线程持有写锁,AQS队列中排队着2个读锁线程。
这时写锁线程执行await进入条件队列,2个读锁线程执行并signal,使写线程从条件队列转移到AQS队列,等到读线程释放锁后,继续执行写。
这个功能为什么StampedLock不支持呢?
大家好,
假设一个线程持有写锁,AQS队列中排队着2个读锁线程。
这时写锁线程执行await进入条件队列,2个读锁线程执行并signal,使写线程从条件队列转移到AQS队列,等到读线程释放锁后,继续执行写。
这个功能为什么StampedLock不支持呢?
4 回答1.6k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
3 回答2k 阅读
2 回答786 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.3k 阅读
因为它支持在多种锁模式中协同使用,所以这个类并没有直接实现
lock
或者readwritelock
接口。然而,一个stampedlock
仅在被需要关联功能集合中的应用中可以被视为asReadLock()
,as Writelock()
,或者asReadWriteLock()