Java的synchronized可以加在方法上,也可以直接加在对象上,从而保证一段代码只能有一个线程在运行,保证线程的同步。
Java的synchronized加在方法上或者对象上区别如下:
1. synchronized 在方法上,所有这个类的加了 synchronized 的方法,在执行时,会获得一个该类的唯一的同步锁,当这个锁被占用时,其他的加了 synchronized 的方法就必须等待
2. 加在对象上的话,就是以这个对象为锁,其他也以这个对象为锁的代码段,在这个锁被占用时,就必须等待