- 同步函数默认的锁是this:
- .....
- public void run()
- {
- while(true)
- {
- synchronized(this) //this当前同步函数对象
- {... ...}
- }
- }
- public synchronized void show() //同步函数
- {
- ... ...
- }
- 静态同步函数的锁是class对象:
- 静态进内存时,内存中没有本类对象,但是一定有该类对应的字节码文件对象:类名.class 该对象类型是class;
- 静态的同步方法,使用的锁是该方法所在类的字节码文件对象 类名.class;
- private static int tick=100;
- ......
- synchronized(Ticket.class) //字节码文件对象
- ......
- class Ticket
- {
- ......
- public static synchronized void show()
- ......
- }
复制代码
|