Java同步问题,这段话怎么理解同步方法的锁对象是什么呢?this对象
如果是静态方法,同步方法的锁对象又是什么呢?该类的字节码文件(类的class文件)
那么,我们到底使用同步方法还是同步代码块?
如果锁对象是this,就可以考虑使用同步方法。否则能使用同步代码块的尽量使用同步代码块。
Java同步问题,这段话怎么理解同步方法的锁对象是什么呢?this对象
如果是静态方法,同步方法的锁对象又是什么呢?该类的字节码文件(类的class文件)
那么,我们到底使用同步方法还是同步代码块?
如果锁对象是this,就可以考虑使用同步方法。否则能使用同步代码块的尽量使用同步代码块。
1、方法的锁对象是什么呢?-----当前对象,也就是this对象锁
2、如果是静态方法,同步方法的锁对象又是什么呢?该类的字节码文件(类的class文件)----静态方法也叫类方法,所以在上面的锁是类,而不是对象,
可以理解为XX.class
3、如果锁对象是this,就可以考虑使用同步方法。否则能使用同步代码块的尽量使用同步代码块。-------锁的话是违背多线程初衷的,但是有时候我们不得不
对某些资源进行同步保护,但是这个保护应该是最小原则,不能说某一个房间只能一个个进,你就把整栋楼封了