将什么对象视为对象锁,比如你可以这样用:
Object lock = new Object();
//方法A
methodA(){
synchronized(lock){//这个时候任何其它调用lock地方都被锁
dosomething();
}
}
//方法B
methodB(){
synchronized(lock){){//这个时候任何其它调用lock地方都被锁
dosomething();
}
}
这样子也能实现AB两个方法的互斥。
可以看下csdn一篇关于这个关键字的文章,对于对象锁和类锁(类也是对象,这里这么说是为了区别类实例化的对象),锁作用域都有很好的解释。http://dev.csdn.net/article/71/71246.shtm