(改进,其解释十分的清晰)百度知道的一句话:
synchronized(this) 表示的是所有线程需要排队获取当前类的实例的锁;锁住的是一个实例对象锁
而 synchronized(xxx.class) 表示的是所有线程需要排队获取当前类的锁;锁住的是一个当前类的字节码信息
其区别就在于 this 是一个实例,而 xxx.class 是一个整个的 class字节码信息
static 锁锁住的对象也当前类的字节码信息 ,与class一致,
(改进,其解释十分的清晰)百度知道的一句话:
synchronized(this) 表示的是所有线程需要排队获取当前类的实例的锁;锁住的是一个实例对象锁
而 synchronized(xxx.class) 表示的是所有线程需要排队获取当前类的锁;锁住的是一个当前类的字节码信息
其区别就在于 this 是一个实例,而 xxx.class 是一个整个的 class字节码信息
static 锁锁住的对象也当前类的字节码信息 ,与class一致,