class test{
public static final Object objLock;
function f1(){
int n = 0 ;
synchronized(objLock){ //见好多代码这么写
n = n + 1;
}
}function f2(){
int n = 0 ;
synchronized(this){
n = n + 1;
}
}function f3(){
int n = 0 ;
synchronized(test.class){
n = n + 1;
}
}
}
得到对象objLock的锁
如果得不到即其他线程正在使用objLock,那么synchronized中的代码就不能运行
2。得到调运f2方法的对象的锁
如果得不到,那么synchronized中的代码就不能运行
3。没见过
1)表示:当得到了objLock的锁,才能。
2)表示:当得到了对象自已的锁,才能。
3)表示:当得到了自己对象的类锁,才能。
以上仅供你参考