Lock锁(是一个接口,但是接口类是特殊的类)

这个Locks类下的三个接口:(接口是特殊的类)
1、Condition接口:精确通知
![]()
2、Lock接口:锁
![]()
3、ReadWriteLock接口:读写锁
![]()
第一步:lock如何使用(加锁.lock(),解锁.unlock())

Lock接口下的三个实现类:

第二步:在资源类中先new出一个lock接口下的可重入锁(ReentrantLock)我们去使用lock锁去改造之前的Syn锁
可重入锁(是非公平锁):源码分析

什么是公平锁(只能顺序执行),什么是非公平锁(允许插队)
其中我们的Syn和这里使用的Lock的实现类的ReentrantLock(可重入锁)默认都是非公平锁
第三步:如何使用(根据jdk文档:要先给锁加锁,再将我们的业务代码块放入我们try catch中)最后finally去解锁

!!其中使用Lock三部曲:
测试:简化一下(fro循环下只有一句的时候下面的{}可以不要)

