Я хочу знать, как использовать синхронизированные блоки между классами. Я имею в виду, что я хочу иметь синхронизированные блоки в нескольких классах, но все они синхронизируются на одном и том же объекте. Единственный способ, который я думал о том, как это сделать, выглядит так:
//class 1
public static Object obj = new Object();
someMethod(){
synchronized(obj){
//code
}
}
//class 2
someMethod(){
synchronized(firstClass.obj){
//code
}
}
В этом примере я создал произвольный объект для синхронизации в первом классе, а во втором классе также синхронизировал его, статически ссылаясь на него. Однако мне это кажется плохой кодировкой. Есть ли лучший способ достичь этого?