摘要:
condition是对线程进行控制管理的接口,具体实现是AQS的一个内部类ConditionObject,主要功能是控制线程的启/停(这么说并不严格,还要有锁的竞争排队)。 condition主要方法: void await() throws InterruptedException 进入等待,直到 阅读全文
摘要:
读写锁,对于读操作来说是共享锁,对于写操作来说是排他锁,两种操作都可重入的一种锁。底层也是用AQS来实现的,我们来看一下它的结构跟代码: 读写锁,当然要区分读跟写两种操作,因此其内部有ReadLock跟WriteLock两种具体实现。但两者也有交互的地方,比如获取写锁要判断当前是否有线程在读,有的话 阅读全文