Java多线程系列--“JUC锁”01之 框架

 

本章会介绍JUC包中locks包的框架;在后面的章节中,会对锁的各个部分进行详细介绍。

java.util.concurrent.locks包的框架如下图:

Java多线程系列--“JUC锁”01之 框架

说明
1. AbstractOwnableSynchronizer是一个抽象类,它是 AbstractQueuedSynchronizer和AbstractQueuedLongSynchronizer共同的父类。
2. LockSupport是提供“创建锁”和“其他同步类的基本线程阻塞原语”。
3. Condition需要和Lock联合使用,它的作用是代替Object监视器方法,可以通过await(),signal()来休眠/唤醒线程。
4. Lock是“锁”的抽象接口。它声明了锁的公共API。
5. ReentrantLock是“独占锁”对应的类。
    (01) ReentrantLock实现了Lock接口。
    (02) ReentrantLock的内部类Sync继承于AbstractQueuedSynchronizer。而“公平锁”FairSync 和 “非公平锁”NonfairSync 都继承于Sync。
6. ReentrantReadWriteLock是“读写锁”对应的类。它包括一个“读取锁”和“写入锁”,“读取锁”是“共享锁”,而“写入锁”是“独占锁”。

 

Java多线程系列--“JUC锁”01之 框架

上一篇:HDU 2586 How far away? LCA 转化成RMQ


下一篇:FineUI v4.0.3 (beta) 和 FineUI v3.3.3 发布了!