java同步方法与同步块,静态同步的区别
小弟想问一下高手,同步方法是锁定了对象还是类本身呢,还有就是同步块锁定的是什么,静态同步什么时候用
------解决方案--------------------同步方法锁定的是对象
这个说法比较怪
public synchronized void fuc1(){
}
相当于
public void fuc1(){
synchronized(this){
}
}
静态同步?就是静态类或方法里用的同步呀
------解决方案--------------------无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象
------解决方案--------------------synchronized 锁定的是对象,即使是同步块,他前面限定的也有对象。
------解决方案--------------------楼上的都是正解。只能所对象object,because everthing is object。但是块锁效率可能会高
他不互斥对象非同步内容