一、Lock接口
Lock lock = new ReentrantLock(); //这里可以是自己实现Lock接口的实现类,也可以是
jdk提供的同步组件
lock.lock();//一般不将锁的获取放在try语句块中,因为如果发生异常,在抛出异常的同
时,也会导致锁的无故释放
try {
}finally {
lock.unlock(); //放在finally代码块中,保证锁一定会被释放
}
二、重入锁
三、Synchronized

image.png
Lock lock = new ReentrantLock(); //这里可以是自己实现Lock接口的实现类,也可以是
jdk提供的同步组件
lock.lock();//一般不将锁的获取放在try语句块中,因为如果发生异常,在抛出异常的同
时,也会导致锁的无故释放
try {
}finally {
lock.unlock(); //放在finally代码块中,保证锁一定会被释放
}