我相信,在我的 JAVA GUI 中,我正在处理一个竞争条件。
我有一些方法可以在这样的匿名类中创建“匿名方法”:
synchronized foo()
{
someMethod(new TimerTask()
{
public synchronized run()
{
//stuff
}
};
}
问题:该运行方法是在 TimerTask 对象上同步还是在 foo 所在的类上同步?
QUESTION2:如果我去掉了 run() 声明中的“synchronized”,而是在 run() 主体内有一个 synchronized(this) {} 块,“this”是指 TimerTask 对象还是指是包含 foo() 的方法的实例吗?
请帮帮我。
谢谢,jbu