问题描述
- 基础多线程知识点,应该没错,
-
同步代码块锁对象是谁?---任意对象
同步方法的锁对象是谁?---this对象
静态同步方法的锁对象是谁?---当前的字节码文件对象
解决方案
首先,同步代码块的锁对象可以自己任意设定的非null的对象就可以了;
其次,同步方法上的锁对象,如果是同步在非静态方法上,锁对象就是this对象;
最后,如果是在静态方法上添加了同步,那么同步对象就是当前类的类型信息,不是字节码,而是类的Class对象,每个类都有一个class类型对象的。即XX.class,XX就是当前类名称。
时间: 2024-11-08 22:32:26