对象锁
方法锁(synchronized修饰普通方法,默认对象为this当前实例对象)
同步代码块锁(自己制定锁对象)
类锁
synchronized修饰的静态的方法或指定锁为Class对象
对象锁:
应用:同一对象多个线程访问
类锁:
java类可能有很多个对象,但是只有一个Class对象,也就是Class对象的锁
类锁只能在同一时刻被一个对象拥有
形式1:synchronized加在static方法上
形式1:synchronized(.class)代码块
应用:多个不同对象访问同一全局资源