JUC-Lock与Synchronized对比

124 阅读1分钟

image.png

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那就是锁的调用者,同一个调用者有先后!