标签:div 一个 new syn 锁对象 概述 class 加锁 code
一、概述
1.Lock是JDK1.5提供的一个接口;有效的降低死锁的几率,Lock相对于synchronize而言更加灵活
synchronized 问题:容易产生死锁;锁对象不容易找寻确定;不能在方法A中加锁,方法B中解锁
同步代码块问题:容易产生死锁 synchronized(){ } 同步方法问题:锁对象不容易找寻确定 class A { // m1方法 的锁对象是 this public synchronized void m1(){} // m2方法 的锁对象是 A.class pubilc synchronized void m2(){} } A a1 = new A(); a1.m1(); //m1方法的锁对象是 a1 A a2 = new A(); a2.m1(); //m2方法的锁对象是 a2
2.用的更多的是Lock的实现类:ReentrantLock
标签:div 一个 new syn 锁对象 概述 class 加锁 code
原文地址:https://www.cnblogs.com/alen-apple/p/13068601.html