我希望了解如何在不同的类之间使用同步块。我的意思是,我想在多个类中使用同步块,但它们都会同步于同一对象。我能想到的唯一方法是这样:
//class 1
public static Object obj = new Object();
someMethod(){
synchronized(obj){
//code
}
}
//class 2
someMethod(){
synchronized(firstClass.obj){
//code
}
}
在这个例子中,我在第一个类中创建了一个任意的对象来进行同步,在第二个类中也通过静态引用对其进行了同步。然而,这似乎是糟糕的编码方式。是否有更好的方法来实现这一点?