源码阅读之Lock锁组件
一. Lock接口
二. 实现类ReentrantLock实现了Lock接口
主要方法都依赖于抽象子类Sync同步器。
它的两个子类分别实现了公平锁和非公平锁。
可以通过参数fair来控制实例化 是公平锁还是非公平锁。
三. ReadWriteLock接口
提供了公平的读锁写锁,和非公平的读锁写锁。
四. 实现类ReentrantReadWriteLock实现了ReadWriteLock接口。
同样通过抽象子类Sync作为所有实现机制的同步器。
五. AbstractQueuedSynchronizer抽象类
同步组件的实现中AQS是核心部分。同步组件的实现通过AQS提供的模板方法实现同步语义。
AQS实现了对同步状态的管理以及对阻塞线程的排队,等待通知等一些底层的实现处理。
AQS的核心包括:同步队列,独占锁和共享锁的获取与释放,可中断锁,超时等待锁获取这些特性的实现。
二. 实现类ReentrantLock实现了Lock接口
主要方法都依赖于抽象子类Sync同步器。
它的两个子类分别实现了公平锁和非公平锁。
可以通过参数fair来控制实例化 是公平锁还是非公平锁。
三. ReadWriteLock接口
提供了公平的读锁写锁,和非公平的读锁写锁。
四. 实现类ReentrantReadWriteLock实现了ReadWriteLock接口。
同样通过抽象子类Sync作为所有实现机制的同步器。
五. AbstractQueuedSynchronizer抽象类
同步组件的实现中AQS是核心部分。同步组件的实现通过AQS提供的模板方法实现同步语义。
AQS实现了对同步状态的管理以及对阻塞线程的排队,等待通知等一些底层的实现处理。
AQS的核心包括:同步队列,独占锁和共享锁的获取与释放,可中断锁,超时等待锁获取这些特性的实现。
查看7道真题和解析

