如果你用:
class foo {
...
synchronized void methodFoo(){}
...
}
的形式,实际上是用这个对象本身做锁的,如果应用时生成许多,就会有很多不同的锁,如果想所有的对象都用一个锁,可以:public static SomeClass aObj = new SomeClass();在需要同步的地方:
synchronized (aObj) {  //语法可能错了,:)
...
}