Я имею дело с состоянием гонки, я полагаю, в моем графическом интерфейсе JAVA.
У меня есть несколько методов, которые создают "анонимный метод" внутри анонимного класса, например:
synchronized foo()
{
someMethod(new TimerTask()
{
public synchronized run()
{
//stuff
}
};
}
ВОПРОС: этот метод запуска синхронизирован с объектом TimerTask или классом, в котором находится foo?
ВОПРОС 2: если бы я избавился от «синхронизированного» в объявлении run() и вместо этого получил блок synchronized(this) {} внутри тела run(), будет ли «это» относиться к объекту TimerTask или к объекту, который является экземпляром метода, содержащего foo()?
Пожалуйста, помогите мне здесь.
Спасибо, джбу