synchronized修饰普通方法和静态方法的区别
修饰普通方法时获得的锁是对象锁,即this对应的实例,如果多个线程通过**不同的对象**
来调用方法,那么他们的锁就是不一样的,不会造成阻塞。
修饰静态方法获得的锁是类锁,也就是类名.class,多个线程调用该类的同步的静态方法时,都会阻塞。
修饰普通方法时获得的锁是对象锁,即this对应的实例,如果多个线程通过**不同的对象**
来调用方法,那么他们的锁就是不一样的,不会造成阻塞。
修饰静态方法获得的锁是类锁,也就是类名.class,多个线程调用该类的同步的静态方法时,都会阻塞。
全部评论
相关推荐
01-13 23:12
深圳信息职业技术学院 Java 点赞 评论 收藏
分享