lock对比synchronized的改进是 可以精确唤醒,具体实现是通过Condition监视
Condition condition1=lock.newCondition();
Condition condition2=lock.newCondition();
Condition condition3=lock.newCondition();
唤醒的时候专门唤醒某一个
condition2.singal();
synchronized锁的对象是方法的调用者!!
加入方法上面没有加synchronized那么不收锁的影响!
对象锁作用的是synchronized修饰的非静态方法,或者是同步方法块中this对象和非this对象。
类锁作用于synchronized修饰的静态方法,或者是同步方法块中的类.class。
类的实例对象可以有多个,但是每个类只有一个class类型的对象
看了一下狂神吧八把锁,大体上看明白了; 两个锁互不干扰; static是锁的class,同一个class要有先后; 假如是synchronized那就是锁的调用者,同一个调用者有先后!