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