详解AQS的7个同步组件

💡 原文中文,约18000字,阅读约需43分钟。
📝

内容提要

J.U.C下的AQS子包类支持排它锁和共享锁模式,内部维护了一个CLH队列,支持CountDownLatch、Semaphore、CyclicBarrier、ReentrantLock、Condition、FutureTask等同步组件,可以控制有限访问的资源,实现多线程之间相互等待,可以重置计数器,支持设置等待超时。ReentrantLock与synchronized有可重入性、锁的实现、性能的区别、功能区别,ReentrantLock独有的功能有指定公平锁、提供Condition类、提供中断等待锁的机制,synchronized的优势有不用手动释放锁、JVM生成线程转储时能够锁定信息、可以在所有JVM版本中工作,ReentrantReadWriteLock可以避免写锁饥饿。

🏷️

标签

➡️

继续阅读