synchronized锁普通方法和锁静态方法

1.对象锁钥匙只能有一把才能互斥,才能保证共享变量的唯一性

    2.在静态方法上的锁,和 实例方法上的锁,默认不是同样的,如果同步需要制定两把锁一样。

    3.关于同一个类的方法上的锁,来自于调用该方法的对象,如果调用该方法的对象是相同的,那么锁必然相同,否则就不相同。比如 new A().x() 和 new A().x(),对象不同,锁不同,如果A的单利的,就能互斥。

    4.静态方法加锁,能和所有其他静态方法加锁的 进行互斥

    5.静态方法加锁,和xx.class 锁效果一样,直接属于类的

转载:http://greemranqq.iteye.com/blog/1974143

原文地址:https://www.cnblogs.com/fanguangdexiaoyuer/p/5313793.html