编程里面锁的定义是为了解决线程安全的问题,加锁,释放锁都是开发人员自行进行管理和控制的
在Java语言针对这样场景定义接口Lock
Lock是在JDK1.5出现的,最常见的实现类是ReentrantLock
2 源码讲解获取锁的方法有4种,释放锁只有一个方法
获取锁,如果锁已经被其它线程获取,则进行线程等待
void lock();
释放锁
void unlock();
获取锁,但是相当于lock来说,不会直接进入等待,而是将处理权交给了开发人员
boolean tryLock();
获取锁,新增了等待获取锁的时间
boolean tryLock(long time, TimeUnit unit) throws InterruptedException;
获取锁,如果这个锁是可以获取的,则立刻返回,未获取到会一直等待,除非开发人员
干预,否则就会一直等待下去
lockInterruptibly()
返回Condition类
Condition newCondition();



