摘要:
概述 从使用者的角度,AQS的功能可分为两类:独占功能和共享功能。它的子类中,要么实现并使用了它独占功能的API,要么使用了共享锁的功能,而不会同时使用两套API,即使是它的子类ReentrantReadWriteLock,也是通过两个内部类:读锁和写锁,分别实现的两套API来实现的。 AQS是一个 阅读全文
摘要:
背景 在JDK1.5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁,锁机制存在以下问题: (1)在多线程竞争中,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题; (2)一个线程持有锁会导致其他所有需要此锁的线程挂起; (3)如果一个优先级高的线程等待一个优先 阅读全文