StampedLock 为什么不支持await / signal ?

大纲007
  • 170

大家好,
假设一个线程持有写锁,AQS队列中排队着2个读锁线程。
这时写锁线程执行await进入条件队列,2个读锁线程执行并signal,使写线程从条件队列转移到AQS队列,等到读线程释放锁后,继续执行写。
这个功能为什么StampedLock不支持呢?

回复
阅读 584
1 个回答

因为它支持在多种锁模式中协同使用,所以这个类并没有直接实现 lock 或者 readwritelock 接口。然而,一个 stampedlock 仅在被需要关联功能集合中的应用中可以被视为 asReadLock(), as Writelock(),或者asReadWriteLock()

宣传栏