【发布时间】:2015-07-08 04:38:35
【问题描述】:
我有一个名为play() 的方法。在类内部,我有一个Timer (java.util.Timer) 和一个TimerTask 类型的匿名内部类。这是我的代码:
public static void play() {
new Timer().schedule(new TimerTask() {
public void run() {
...
}, 0, 100); // Run every 10 milliseconds starting in 0 milliseconds (immediately)
}
现在的问题是......我希望从匿名内部类内部(...)从方法play返回,但是如果我调用“return”,它将从“ run" 内部类中的方法。如何从匿名内部类中的play 方法返回?
[标题不是很清楚;我不能很好地表达它。如果您能想到更好的标题,请编辑标题。]
【问题讨论】:
-
这根本不可能。
run()方法在另一个线程中运行;在第一次调用run()方法时,可能已经完成了对play()方法的调用。 -
你能解释一下你要做什么吗?
-
他想在
TimerTask匿名内部类对象run()方法中破坏play()方法的执行。 -
是否正在尝试等待 run 方法在 play 方法中完成?
-
没关系。请参阅下面的答案(已接受的答案)。
run()方法实际上在设置计时器后结束,因为计时器在单独的线程上运行。
标签: java methods anonymous-class