今天遇到一题关于同步方法和同步代码快的问题,之前没看到过所以查了一下资料,总结了一下在这里记录一下吧,以便自己日后学习
原问题是:同步方法和同步代码块的区别。
同步方法
public synchronized void method1(){}
同步代码块,其中lockObject可以为任何不为null值的对象
public void method2(){
synchronized (lockObject){}
}
java中每个对象都有同步锁,同步方法是指进入该方法时需要获取this对象的同步锁,而同步代码块则是可以指定需要获取哪个对象的同步锁
做了一个简单测试
public class SynObj